【问题标题】:Connection string to Oracle 10g DB using VB.net使用 VB.net 到 Oracle 10g DB 的连接字符串
【发布时间】:2011-06-15 22:24:10
【问题描述】:

大家好,我对 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)

大卫

【问题讨论】:

    标签: vb.net oracle visual-studio-2010 connection-string ora-12560


    【解决方案1】:

    有很多方法:我几乎每次都使用的不需要在 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

    【讨论】:

    • 这样吗? myConnection = New OleDbConnection("数据源=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID))) ;用户ID=xxx;密码=xxx;")
    • 如果您想使用 OleDbConnection,只需添加 Provider=MSDAORA.1; 或使用 Oracle 适配器。请记住更改主机、端口(如果您不使用默认端口)和服务名称。
    • 太棒了,我明白了!谢谢! :)
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-24
      相关资源
      最近更新 更多