oracle10g vb.net连接错误

时间:2014-06-02 06:26:44

标签: vb.net oracle

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

1 个答案:

答案 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

您在此处找到的其他连接字符串: