Microsoft ODBC 驱动程序找不到 Oracle Instant Client

Microsoft ODBC 驱动程序找不到 Oracle Instant Client

我有一个旧的 32 位软件程序,它可连接到 Oracle 数据库,但只能与适用于 Oracle 的 Microsoft ODBC 驱动程序配合使用。它无法与最新的本机 Oracle ODBC 驱动程序配合使用。

我已经安装了 Oracle Instant Client(在我的 64 位 Win 7 PC 上安装了 32 位和 64 位版本),每个版本都安装在不同的 ORACLE_HOME 目录中。

但是,当我尝试通过 ODBC 使用 Microsoft 的驱动程序进行连接时,出现错误:

未找到 Oracle(tm) 客户端和网络组件。这些组件由 Oracle Corporation 提供,是 Oracle 版本 7.3(或更高版本)客户端软件安装的一部分。

在安装这些组件之前,您将无法使用该驱动程序。

我可以使用 Oracle 的 ODBC 驱动程序成功连接到数据库,因此安装似乎正常,但遗憾的是该程序只能与 Microsoft 的 ODBC 驱动程序一起使用。

由于 Microsoft ODBC 驱动程序显然无法找到 Oracle Instant Client 安装,我应该如何告诉它在哪里查找?

答案1

事实证明这很简单。您必须设置PATH环境变量以指向ORACLE_HOME要使用的内容。

对我来说,我编辑了末尾PATH添加的部分并且它运行完美,无需重新启动。;C:\oracle\instantclient32_12_1

需要澄清的是,C:\oracle\instantclient32_12_1我指定的目录包含oci.dll和等文件ociw32.dll,它们属于 32 位 Instant Client 安装。我猜这对于 64 位来说无关紧要,因为没有 Microsoft ODBC 64 位客户端。

答案2

所用技术:Windows 7、UFT 32 位、指向 32 位的数据源 ODBC C:\Windows\System32\odbcad32.exe、安装了 32 位和 64 位版本的 Oracle 客户端。

对我有用的是:

  1. 开始 -> 搜索“编辑系统环境变量”
  2. 系统变量 -> 编辑路径
  3. 将 Oracle 客户端 32 位的路径放在 Oracle 客户端 64 位的路径前面。例如:

    C:\APP\ORACLE\product\11.2.0\client_32\bin;C:\APP\ORACLE\product\11.2.0\client_64\bin
    

相关内容