2

嘿,我对 Oracle 数据库非常陌生,我正在尝试通过 VB.net 2010 连接到它。我一直在尝试以下操作:

Dim myConnection As OleDbConnection
Dim myCommand As OleDbCommand
Dim dr As OleDbDataReader

    myConnection = New OleDbConnection("Provider=MSDAORA.1;UserID=xxxx;password=xxxx; database=xxxx")
    'MSDORA is the provider when working with Oracle
    Try
        myConnection.Open()
        'opening the connection
        myCommand = New OleDbCommand("Select * from emp", myConnection)
        'executing the command and assigning it to connection
        dr = myCommand.ExecuteReader()
        While dr.Read()
            'reading from the datareader
            MessageBox.Show("EmpNo" & dr(0))
            MessageBox.Show("EName" & dr(1))
            MessageBox.Show("Job" & dr(2))
            MessageBox.Show("Mgr" & dr(3))
            MessageBox.Show("HireDate" & dr(4))
            'displaying data from the table
        End While
        dr.Close()
        myConnection.Close()
    Catch ee As Exception
    End Try

我在 Catch ee As Exception 行上得到错误:ORA-12560: TNS:protocol adapter error

我的计算机上也有一个 tnsnames.ora 文件,但我不确定在连接时是否需要使用它(或者实际上,首先如何使用)?上面的代码需要吗?

我正在尝试使用与数据库的无 DNS 连接。不确定这是否是它在做的事情?

任何帮助都会很棒!!!:o)

大卫

4

2 回答 2

3

有很多方法:我几乎每次都使用的不需要在 TNSNAMES.ORA 中输入的方法是:

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;

如果您不需要 OleDb 连接,我认为您应该使用 System.Data.OracleClient 或任何其他免费提供程序(例如DevArt dotConnect for Oracle Express

来源: http: //www.connectionstrings.com/oracle

于 2011-01-26T15:34:11.357 回答
1

当我需要创建到数据库的新连接字符串并且连接字符串格式不在我的脑海中时,我总是使用www.connectionstrings.com/ 。

于 2011-01-27T13:28:50.210 回答