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

时间:2016-09-29 20:07:56

标签: excel vba oracle oracleclient

我试图通过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(或更高版本)客户端软件安装的一部分。在安装这些组件之前,您将无法使用此驱动程序

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

就我而言,Visual Studio中的Console项目在其属性中有Prefer 32 bit选中标记。

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

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

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

enter image description here