我已经在 Windows 7 64 位上安装了 Oracle 11.2.0 和 Allround Automations 的 SQLDeveloper。
当我运行 SQLDeveloper 并尝试连接到 Oracle 时,出现以下错误:
Initialization error
Could not load "C:\app\MyComp\product\11.2.0\dbhome_1\bin\oci.dll"
OCIDLL forced to C:\app\MyComp\product\11.2.0\dbhome_1\bin\oci.dll
LoadLibrary(C:\app\MyComp\product\11.2.0\dbhome_1\bin\oci.dll) returned 0
可能存在什么问题?
答案1
发生这种情况是因为 PL/SQL Developer 无法加载 64 位版本的 oci.dll 文件。要解决此问题,请下载 32 位版本的Oracle 即时客户端,将其解压到目录,例如 \instant_client。
接下来,通过单击“工具”菜单 ->“首选项”配置 PL/SQL Developer 以使用此版本。在 Oracle Home 下,指向您提取 Instant client 的位置(在本例中为 \instant_client),在 OCI Library 的位置下,指向您提取 Instant client 的位置中的 oci.dll 文件(\instant_client\oci.dll)。重新启动 PL/SQL Developer,您现在应该能够连接。
答案2
对于那些将来可能会看到此帖子的人来说 -
- 您必须输入“32 位”oci.dll 的完整文件名(路径 + \ + oci.dll)
- 您应该检查“在 OCI8 上强制使用 OCI7 模式”
- 我昨天忘记添加最后一步:您必须添加一个系统变量(我的电脑->右键单击->属性->高级系统设置->环境变量)变量名称 = TNS_ADMIN,值 = oracle 文件夹....client_1\network\admin(这是您的“tnsnames.ora”文件所在的位置)
看这里: http://forums.allroundautomations.com/ubb/ubbthreads.php?ubb=showflat&Number=37996
答案3
我遇到了类似的问题,我必须指定 oci.dll 的完整文件路径以及实际的 oci.dll 文件名。