PL SQL启动报初始化错误Initialization error,问题解决

  • 错误再现
  • 解决问题
  • 问题解决-步骤总结

错误再现

Initialization error
Could not initiallize “““`oci.dll”
Make sure you have the 32 bits Oracle Client installed.

OCIDLL forced to
… oci.dll
LoadLibrary(…\oci…
returned 0

PLSQL登录数据库时,未成功,报错如图,不能初始化!我随即进行重新安装instantclient_11_2,重新安装PLSQL,重新配置PLSQL首选项,试了很多遍,均没有成功!!同事的电脑是可以成功登录该数据库的,那一定是我电脑配置的问题了。接下来找原因!

解决问题

我的电脑之前安装过Oracle客户端,配置过相应的环境变量,所以每次启动PLSQL时,都会加载Oracle客户端的环境变量,进行初始化。
尽管安装了instantclient_11_2,配置了首选项,仍然不能正确初始化,这时,我发现了环境变量的配置有问题啊!!!找了很久,终于发现问题所在!

在环境变量中,配置了Oracle客户端,并且还被置顶了!那怎么会加载instantclient_11_2客户端的环境变量····
一般使用instantclient_11_2客户端,就可以进行数据库访问,Oracle客户端还会占用很大内存,于是我卸载了Oracle,删除了Oracle环境变量。
重新配置PLSQL首选项。
Oracle主目录名:D:\tools\instantclient_19_11(改成你的客户端绝对路径)
OCI库:D:\tools\instantclient_19_11\oci.dll(改成你的OCI库绝对路径)

这时,再重启PLSQL就可以了!

问题解决-步骤总结

1.instantclient_11_2客户端安装,及首选项,及环境变量配置无误。 (instantclient_11_2客户端安装,选择自己合适的版本即可,我这里安装过11_2,19_11)

PLSQL配置PLSQL首选项:

  • Oracle主目录名:D:\tools\instantclient_19_11(改成你的客户端绝对路径)
  • OCI库:D:\tools\instantclient_19_11\oci.dll(改成你的OCI库绝对路径)

instantclient_11_2客户端环境变量Path新增:

  • D:\tools\instantclient_19_11(改成你的客户端绝对路径)

2.电脑中原本安装过Oracle客户端,并配置过环境变量(一般会有dbhome_2类似字样)。

3.删除Oracle客户端的环境变量,卸载Oracle客户端(可选)。

4.重启PLSQL,问题解决!

我的电脑中,PLSQL初始化失败,主要是因为 安装了-Oracle客户端,并且环境变量被置顶,,导致正确的环境变量未加载成功!