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,因为我已经在我的PHP代码中使用过它。请帮助我的家伙,我只是一个新手在vb.net。我做错了什么?你们能帮帮我吗?
update尝试此代码,但仍有错误:
Dim myConnection As OleDbConnection
Dim myCommand As OleDbCommand
Dim myConnection As New OracleConnection(connStr)
myConnection.Open()
连接字符串错误
对于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
其他连接字符串:
- http://www.carlprothman.net/Default.aspx?tabid=81
- http://www.connectionstrings.com/oracle/