Imports System.Data.OleDb
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
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 = "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = servicename)));Uid=user;Pwd=pwd;"
QuerySQL = "select * from table"
conn.ConnectionString = connString
conn.Open()
cmd.Connection = conn
cmd.CommandText = QuerySQL
drResult = cmd.ExecuteReader()
While drResult.Read
TextBox1.Text = TextBox1.Text & drResult("firstname") & ", " & drResult("lastname") & Environment.NewLine
End While
drResult.Close()
End Sub
End Class
我正在尝试使用此代码连接到oracle,但发生了一个错误:
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
我100%肯定tsname bcoz我已经在我的PHP代码中使用过它。请帮助我们,我只是vb.net中的新手。那我做错了什么?你可以帮助我... tnx
更新尝试了此代码,但仍然是一个错误:
Dim myConnection As OleDbConnection
Dim myCommand As OleDbCommand
Dim myConnection As New OracleConnection(connStr)
myConnection.Open()
答案 0 :(得分:1)
连接字符串错误。
对于OLE DB,连接字符串如下所示:
Provider=OraOLEDB.Oracle;Data Source=db_name;User Id=user;Password=pwd
db_name
通常是您的tnsnames.ora文件中的一个条目。但是,您可以直接复制它,例如。克。
Provider=OraOLEDB.Oracle;Data Source="(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = servicename)))";User Id=user;Password=pwd
对于ODBC,连接字符串如下所示:
Driver="Oracle in OraClient11g_home1";Uid=user;Pwd=pwd;DBQ=db_name
您在此处找到的其他连接字符串: