解决Windows2008Server上PLSQL登录时报ORA-12557

  公司的Oracle服务端是安装在一台Linux服务器上,版本号为11.1.0.7.0。我们开发的系统部署在Windows 2008 Server(x64),因为偶尔需要调用Oracle数据库,所以最开始安装的是Oracle v11.2.0的64位客户端,无奈当时PLSQL尚未有32位版本,所以只好又把Oracle Client v11.2.0的32位版本也装了一遍,然而同样的操作在我本机一直没有问题,到了服务器上却怎么也连不上,直接报错“ORA-12557”,网上搜索一翻虽然都无有效结果却也得到启发,经过尝试发现解决办法是:

删除服务器上"环境变量"中的ORACLEBASE和ORACLE_HOME等项,仅保留PATH即可,我的PATH值如下:

C:Oracleproduct11.2.0client_2in;C:Oracleproduct11.2.0client_1in;C:ProgramDataOracleJavajavapath;%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;C:Program Files (x86)Windows Kits8.1Windows Performance Toolkit;C:Program FilesMicrosoft SQL Server110ToolsBinn;C:Program Files (x86)Microsoft SDKsTypeScript1.0;C:Program FilesMicrosoft SQL Server120ToolsBinn;C:Program Files (x86)Microsoft SQL Server100ToolsBinn;C:Program FilesMicrosoft SQL Server100ToolsBinn;C:Program FilesMicrosoft SQL Server100DTSBinn;C:Program Files (x86)Microsoft SQL Server100ToolsBinnVSShellCommon7IDE;C:Program Files (x86)Microsoft Visual Studio 9.0Common7IDEPrivateAssemblies;C:Program Files (x86)Microsoft SQL Server100DTSBinn;C:Program FilesMicrosoftWeb Platform Installer

  这一大堆其实开头两句即可,其中“client_2”是表示32位客户端,“client_1”表示64位客户端,使用PLSQL最新的64位客户端(11.0.4.1782),设置好“工具”->"选项"->"连接"中的目录即可顺利登录成功。

原文地址:https://www.cnblogs.com/LowerAI/p/4995650.html