未找到 Oracle 客户端和网络组件 - Excel VBA

Oracle Client and networking components were not found - Excel VBA

我正在尝试通过 Excel 连接到 Oracle 数据库。我已经在我的机器上安装了来自 Oracle 的 Instant Client,但是当我 运行 此代码时收到此消息:

Sub testing()


    Dim myConn As Connection: Set myConn = New Connection
    Dim mySet As Recordset: Set mySet = New Recordset
    Dim CONNSTRING As String
    CONNSTRING = "Driver={Microsoft ODBC for Oracle}; " & _
                "CONNECTSTRING=(DESCRIPTION=" & _
                "(ADDRESS=(PROTOCOL=TCP)" & _
                "(HOST=xxxxxx.xxx.xxxxxxxxxxx.com)(PORT=1524))" & _
                "(CONNECT_DATA=(SERVICE_NAME=dev))); uid=xxxxxxx; pwd=xxxxxxxxxxx;"

    myConn.Open CONNSTRING
    mySet.Open "SELECT * FROM apps.ap_invoice_lines_interface", myConn, adOpenStatic, adLockBatchOptimistic, adCmdTable

    Sheet1.Range("A1").CopyFromRecordset mySet

    mySet.Close
    myConn.Close

End Sub

我收到的消息是

未找到 Oracle(tm) 客户端和网络组件。这些组件由 Oracle Corporation 提供,是 Oracle 7.3 版(或更高版本)客户端软件安装的一部分。在安装这些组件之前,您将无法使用此驱动程序

当我们的桌面支持团队安装错误的 Oracle 客户端时,我经常看到此错误。如果您的应用程序(Excel,在本例中)是 32 位的,那么您还需要使用 32 位 ODBC 和 32 位 Oracle 客户端。您的 OS 或硬件是 64 位并不重要。重要的是应用。而且似乎大多数 MS Office 安装都是 32 位的,即使安装在 64 位 Windows.

就我而言,Visual Studio 中的控制台项目在其属性中已勾选 Prefer 32 bit

Alt + Enter 并打开构建部分。

我取消选中它,然后该应用程序运行良好。

顺便说一句:我已经安装了 Oracle 客户端 64 位。