![Microsoft ODBC 驱动程序找不到 Oracle Instant Client](https://linux22.com/image/1457238/Microsoft%20ODBC%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%20Oracle%20Instant%20Client.png)
我有一个旧的 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 客户端。
对我有用的是:
- 开始 -> 搜索“编辑系统环境变量”
- 系统变量 -> 编辑路径
将 Oracle 客户端 32 位的路径放在 Oracle 客户端 64 位的路径前面。例如:
C:\APP\ORACLE\product\11.2.0\client_32\bin;C:\APP\ORACLE\product\11.2.0\client_64\bin