2014-09-21 94 views
7

我有一台可充当Oracle数据库11g企业版服务器的计算机。我想使用另一台运行Windows XP SP3的计算机作为此服务器的客户端。SQLPLUS不能在win XP SP3上使用oracle即时客户端运行

因此我决定在客户端PC上安装Oracle Instant Client 11.2.0.4.0。我从Oracle OTN下载了压缩文件,并将其解压缩到像c:\oracle\instantclient11.2.0.4.0这样的文件夹中。然后,我将此路径添加到系统路径变量,并创建了另一个名为TNS_ADMIN的系统变量,其变量名称与Oracle Instant Client具有相同的路径c:\oracle\instantclient11.2.0.4.0

最后我从服务器pc复制了tnsnames.ora。

所以我想尝试从CMD.EXE sqlplus中,但错误是:

The procedure entry point OCIBindByName2 could not be located in the dynamic link library OCI.dll . 

任何人可以帮助我吗?

+1

这可能是因为你有一个版本的Oracle客户端软件作为其他软件包的一部分安装。试试这个:打开一个命令行窗口,C:,CD \,DIR/S OCI.DLL,看看有多少个版本的DLL出现。祝你好运。 – 2014-09-22 01:44:50

+0

是的,我在我的计算机中搜索名为OCI.DLL的所有文件,是的,我发现另一个程序有OCI.DLL作为它的一部分,所以如何处理这个冲突 – luka 2014-09-22 16:52:35

+0

嗯,你可以重命名OCI的“其他”版本.DLL到别的东西(例如,OCI_OTHER.DLL),看看这是否解决了这个问题。祝你好运! – 2014-09-22 18:03:30

回答

1

您是否已将ORACLE_HOME设置为c:\ oracle \ instantclient11.2.0.4.0?

它应固定在11.2虽然343666.1为descibed:

这在ORACLE_HOME问题依赖已在错误得到解决:5532439 OCI.DLL必须正确CALL SetDllDirectory会。修复方法是根据OCI.DLL所在的位置调用 SetDllDirectory。 解决方法针对此问题:

  1. 做一个即时客户端的安装,例如进入C:\ ORACLE \ EZClient102

  2. 设置ORACLE_HOME环境变量设置为即时客户端的ORACLE_HOME。

集ORACLE_HOME = C:\ ORACLE \ EZClient102

然后即时客户端DLL的应 C下加载:\ ORACLE \ EZClient102 \ BIN