【问题标题】:[Microsoft][ODBC Driver Manager]Data source name not found and no default driver specified[Microsoft][ODBC Driver Manager]未找到数据源名称且未指定默认驱动程序
【发布时间】:2016-07-25 22:28:52
【问题描述】:

我在 excel 2013 的电子表格中编写了一些 VBA 代码,该代码将连接 Oracle 11g 以将一些数据写入其中。我使用以下代码连接远程 Oracle 服务器:

Private Function open_DB(tnsInfo As String, userName As String, pwd As String) As ADODB.Connection
    Dim conn As ADODB.Connection
    Dim connStr As String
    Dim tnsInfoArr As Variant

    tnsInfoArr = getTnsProperty(tnsInfo, ";")

    On Error GoTo Error_Handling
    Set conn = New ADODB.Connection
    'connStr =
    connStr = "Driver={Microsoft ODBC for Oracle}; " & _
                 "CONNECTSTRING=(DESCRIPTION=" & _
                 "(ADDRESS=(PROTOCOL=TCP)" & _
                 "(HOST=" & tnsInfoArr(1) & ")(PORT=" & tnsInfoArr(2) & "))" & _
                 "(CONNECT_DATA=(SERVICE_NAME=" & tnsInfoArr(0) & "))); uid=" & userName & " ;pwd=" & pwd & ";"
    conn.ConnectionString = connStr
    conn.CursorLocation = adUseClient
    conn.Open
    conn.CommandTimeout = 120
    If conn.State = adStateOpen Then
        'MsgBox "connect to Oracle successfully"
        'conn.Close
    End If
    Set open_DB = conn
End Function   

这段代码在我的电脑上运行良好,但在我同事的电脑上却无法运行,我同事的机器上显示了以下错误消息:
[Microsoft][ODBC Driver Manager]未找到数据源名称且未指定默认驱动程序
ADO 错误 #:-2147467259
...
我的同事需要在他的 PC 上进行一些配置吗?但我记得我没有在我自己的电脑上配置一些东西。
谁能告诉我如何解决这个问题?
我的操作系统版本是 64 位 windows 7 企业版 SP1 我使用的是 MS Office 2013 64 位版本。

【问题讨论】:

    标签: excel oracle11g ado vba


    【解决方案1】:

    我认为您需要通过ODBC 数据源管理(32 位/64 位)设置用户 DSN。还要确保您同事的 PC 具有运行代码所需的所有驱动程序。

    干杯。

    【讨论】:

      猜你喜欢
      • 2018-02-12
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      相关资源
      最近更新 更多