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

时间:2012-03-27 15:59:41

标签: vb.net oracle odbc connection-string tnsnames

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

我还添加了与ODBC管理器的连接,并在通过ODBC工具进行连接时成功连接。

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

我尝试了以下内容:

  oODBCConnection = New Odbc.OdbcConnection(connStr)
            oODBCConnection.Open()

我的connStr是:

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

per:http://www.connectionstrings.com/oraclehttp://www.shabdar.org/c-sharp/101-connect-to-oracle-using-asp-net-and-csharp.html

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

谢谢!

我得到的错误是:

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

4 个答案:

答案 0 :(得分:0)

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

http://www.mike-devlin.com/oracle/tnsnames_ora.htm

答案 1 :(得分:0)

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

那就是说,如果我能提供帮助,我就不会使用odbc。您可能希望查看.net

的Oracle Data Provider

http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

答案 2 :(得分:0)

ODBCConnection不正确。

解决方案:

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

答案 3 :(得分:0)

我在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()