【问题标题】:vb.net Oracle connection using TNS Name?使用 TNS 名称的 vb.net Oracle 连接?
【发布时间】:2012-03-27 15:59:41
【问题描述】:

我已将我的 tns 连接放入 .ora 文件,现在可以使用 SQL plus 连接它,并且可以 ping 通它:tnsping myConn。

我还添加了到 ODBC 管理器的连接,并在通过 ODBC 工具测试连接时成功连接。

现在我在使用 vb.net 建立连接时遇到问题

我尝试了以下方法:

  oODBCConnection = New Odbc.OdbcConnection(connStr)
            oODBCConnection.Open()

我的 connStr 在哪里:

Data Source=tns.dev;User Id=MyUser;Password=MyPass;

每个:http://www.connectionstrings.com/oraclehttp://www.shabdar.org/c-sharp/101-connect-to-oracle-using-asp-net-and-csharp.html

我做错了什么?它告诉我我需要指定一个驱动程序,我该怎么做?

谢谢!

我得到的错误是:

ERROR [IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序

【问题讨论】:

    标签: vb.net oracle odbc connection-string tnsnames


    【解决方案1】:

    您检查过 tnsnames.ora 文件吗? tns.dev 有入口吗?

    http://www.mike-devlin.com/oracle/tnsnames_ora.htm

    【讨论】:

    • os上是否安装了多个oracle客户端实例?
    【解决方案2】:

    这不是 oracle 错误 - 听起来您没有创建系统 dsn。此代码看起来需要一个名为 tns.dev 的 DSN。

    也就是说,如果可以的话,我不会使用 odbc。您可能想查看适用于 .net 的 Oracle 数据提供程序

    http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

    【讨论】:

      【解决方案3】:

      ODBCConnection 不正确。

      解决方案:

       Dim myConnection As OleDbConnection
          Dim myCommand As OleDbCommand
        Dim myConnection As New OracleConnection(connStr)
                  myConnection.Open()
      

      【讨论】:

        【解决方案4】:

        我一直在 Vb.net 中使用以下代码

        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 = "Driver={Microsoft ODBC for Oracle};CONNECTSTRING=(DESCRIPTION=(ADDRESS=  (PROTOCOL=TCP)(HOST=ORACLEDB01)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORACLE_INSTANCE_NAME)));Uid=john;Pwd=mypassword;"
        QuerySQL = "select first_name, last_name from employees where id = 28"
        
        conn.ConnectionString = connString
        conn.Open()
        cmd.Connection = conn
        cmd.CommandText = QuerySQL
        drResult = cmd.ExecuteReader()
        
        While drResult.Read
          TextBox1.Text = TextBox1.Text & drResult("last_name") & ", " & drResult("first_name") & Environment.Newline
        End While
        drResult.Close()
        

        【讨论】:

          猜你喜欢
          • 2015-11-17
          • 1970-01-01
          • 2013-03-27
          • 2010-09-30
          • 1970-01-01
          • 1970-01-01
          • 2021-12-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多