关于这个问题,测试了很多方案,终于成功,现提供如下排查思路:

1、首先排查oci.dll不一致(navicat for oracle与oracle版本不一致)问题,这个操作必须进行。

将OCI library(oci.dll)目录填写成已安装的oracle目录下的地址(例如我的:C:\app\luohaiyuan\product\11.2.0\dbhome_1\BIN\oci.dll)

然后,将SQL *Plus目录换成已安装的oracle目录下的C:\app\luohaiyuan\product\11.2.0\dbhome_1\BIN,如图:

2、如果此方式仍不能解决,需进行如下操作,修改C:\app\luohaiyuan\product\11.2.0\dbhome_1\NETWORK\ADMIN(供参考)目录下listener.ora文件

注释掉(PROGRAM = extproc)(前边加“#”)

DEFAULT_SERVICE_LISTENER= (ORCL) 
 
SID_LIST_LISTENER = 
  (SID_LIST = 
    (SID_DESC = 
      (SID_NAME = orcl)           #网络上的服务名称 
      (ORACLE_HOME =G:\oracle\product\10.2.0\db_1) # 这里一定要配置正确 
#      (PROGRAM = extproc) 
    ) 
  ) 

把这句话注释掉重启监听服务就好了。

extproc是一个扩展的程序调用接口协议,  连接和调用外部的操作系统程序或进程用时会用到。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐