Bug:plsql ora-12557(协议适配器不可加载,win8.1,64)

Bug:plsql ora-12557(协议适配器不可加载,win8.1,64)


报错详情

登陆plsql时报ora-12557,可是使用sqlplus登陆正常
Bug:plsql ora-12557(协议适配器不可加载,win8.1,64)_第1张图片

报错分析

可能还是之前安装oracle,没有卸载干净。或则是工具-参数-OCI库路径错误

解决方法

在百度,csdn,博客园看到好多解决方法,但是有的有效,有的尝试无效。在此,本人先写上试了好久以后,对于本人电脑解决的方案,然后会附上其他一些主流方法。

  • 方法(针对本机)
    前提:监控和服务已打开, tnsping 127.0.0.1正常,sqlplus可以登录
    工具:instantclient_11_2
    a)下载instantclient_11_2,安装
    b)打开pl/sql->工具->首选项
    这里写图片描述
    c)填写oracle主目录和OCI库(会自动弹出”下次自动生效”点确定即可)
    本机目录:
    D:\programme\Packagebag\Oracle\instantclient_11_2
    D:\programme\Packagebag\Oracle\instantclient_11_2\oci.dll
    Bug:plsql ora-12557(协议适配器不可加载,win8.1,64)_第2张图片
    e)应用->确定->重新打开plsql即可

  • 主流方法
  • a)删除ORACLE_HOME
    电脑->属性->高级->环境变量->ORACLE_HOME
    本机效果:
    Bug:plsql ora-12557(协议适配器不可加载,win8.1,64)_第3张图片
  • b)新建Oracle_Home变量,
    电脑->属性->高级->环境变量->ORACLE_HOME->重启
    D:\app\admin\product\11.2.0\dbhome_1
    本机效果:a)和b)反复试验,pl/sql没有任何反应==,头疼
  • c)系统变量path里面把DB路径放前面,Client路径发后面
    电脑->属性->高级->环境变量->path
    D:\app\admin\product\11.2.0\dbhome_1\bin(前)
    D:\app\admin\product\11.2.0\client_1\bin(后)
    Bug:plsql ora-12557(协议适配器不可加载,win8.1,64)_第4张图片
    这个解决方法是上google搜的,有很多帖子证实有效
    http://www.dba-oracle.com/t_ora_12577.htm
  • d)plsql->帮助->支持信息->Preferences中的OCI Library
    Bug:plsql ora-12557(协议适配器不可加载,win8.1,64)_第5张图片
    (本机现在是D:\programme\Packagebag\Oracle\instantclient_11_2\oci.dll,但是之前看到这个帖子尝试的时候,本机OCI Library为空)
    查找Default.ini文件->OCIFile改掉成9i的路径(OCIFile=D:\Oracle9i\ora90\BIN\oci.dll)
    Bug:plsql ora-12557(协议适配器不可加载,win8.1,64)_第6张图片
    (打开Default.ini后,没有找到OCIFile,只好换一种方法,有看到的博主,知道怎么弄的,麻烦通知我一声)
    http://blog.csdn.net/haiross/article/details/44077865
  • e)Oracle的tnsnames.ora配置
    本机地址:
    D:\app\admin\product\11.2.0\dbhome_1/NETWORK/ADMIN/\tnsnames.ora
 CONN_ORCL  =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.144.191)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

Bug:plsql ora-12557(协议适配器不可加载,win8.1,64)_第7张图片
登陆plsql

以上五种方法,本人都尝试过,唯有instantclient_11_2成功。但是电脑不同,可能问题不同,解决方案也不一样,需要对症下药。祝大家能够一次性解决plsql ora-12557问题。

你可能感兴趣的:(oracle)