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

问题描述 投票:3回答:2

我正在尝试通过Excel连接到Oracle DB。我在我的机器上安装了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(或更高版本)客户端软件安装的一部分。在安装这些组件之前,您将无法使用此驱动程序

excel vba oracle oracleclient
2个回答
5
投票

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


0
投票

在我的例子中,Visual Studio中的Console项目在其Properties中检查了Prefer 32 bit

按Alt + Enter并打开“构建”部分。

我取消选中它然后应用程序完美。

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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.