Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用TNS名称的vb.net Oracle连接?_Vb.net_Oracle_Odbc_Connection String_Tnsnames - Fatal编程技术网

使用TNS名称的vb.net Oracle连接?

使用TNS名称的vb.net Oracle连接?,vb.net,oracle,odbc,connection-string,tnsnames,Vb.net,Oracle,Odbc,Connection String,Tnsnames,我已将我的tns连接放入.ora文件,现在可以使用SQL plus连接到它,并可以ping它:tnsping myConn 我还将连接添加到ODBC管理器,并在通过ODBC工具测试conneciton时成功连接 现在我在使用vb.net连接到它时遇到了一个问题 我尝试了以下方法: oODBCConnection = New Odbc.OdbcConnection(connStr) oODBCConnection.Open() 我的康斯特在哪里: Data Sourc

我已将我的tns连接放入.ora文件,现在可以使用SQL plus连接到它,并可以ping它:tnsping myConn

我还将连接添加到ODBC管理器,并在通过ODBC工具测试conneciton时成功连接

现在我在使用vb.net连接到它时遇到了一个问题

我尝试了以下方法:

  oODBCConnection = New Odbc.OdbcConnection(connStr)
            oODBCConnection.Open()
我的康斯特在哪里:

Data Source=tns.dev;User Id=MyUser;Password=MyPass;
per:和

我做错了什么?它告诉我需要指定一个驱动程序,我该怎么做

谢谢大家!

我得到的错误是:


错误[IM002][Microsoft][ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序

是否检查了tnsnames.ora文件?有tns.dev的条目吗


这不是oracle错误-听起来好像您没有创建系统dsn。这段代码看起来需要一个名为tns.dev的DSN

也就是说,如果我能帮助的话,我不会使用odbc。您可能需要查看针对.net的Oracle数据提供程序


ODBC连接不正确

解决方案:

 Dim myConnection As OleDbConnection
    Dim myCommand As OleDbCommand
  Dim myConnection As New OracleConnection(connStr)
            myConnection.Open()

我在Vb.net中使用了以下代码

Dim conn As New Odbc.OdbcConnection
Dim cmd As New Odbc.OdbcCommand
Dim drResult As Odbc.OdbcDataReader
Dim connString As String
Dim QuerySQL As String

connString = "Driver={Microsoft ODBC for Oracle};CONNECTSTRING=(DESCRIPTION=(ADDRESS=  (PROTOCOL=TCP)(HOST=ORACLEDB01)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORACLE_INSTANCE_NAME)));Uid=john;Pwd=mypassword;"
QuerySQL = "select first_name, last_name from employees where id = 28"

conn.ConnectionString = connString
conn.Open()
cmd.Connection = conn
cmd.CommandText = QuerySQL
drResult = cmd.ExecuteReader()

While drResult.Read
  TextBox1.Text = TextBox1.Text & drResult("last_name") & ", " & drResult("first_name") & Environment.Newline
End While
drResult.Close()

操作系统上是否安装了oracle客户端的多个实例?