我已将我的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/oracle和http://www.shabdar.org/c-sharp/101-connect-to-oracle-using-asp-net-and-csharp.html
我在做错了什么?它告诉我需要指定一个驱动程序,我该怎么做?谢谢!
我得到的错误是:
错误[IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序
答案 0 :(得分:0)
你检查过tnsnames.ora文件了吗?是否有tns.dev的条目?
答案 1 :(得分:0)
这不是一个oracle错误 - 听起来你没有创建一个系统dsn。此代码看起来需要名称为tns.dev的DSN。
那就是说,如果我能提供帮助,我就不会使用odbc。您可能希望查看.net
的Oracle Data Providerhttp://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()