我的安装目录是C:\OracleXE112_Win64\app\oracle\product\11.2.0\server\bin。
今天安装了 Oracle 11 Express ,也下载了最新的navicat for oracle,主要新版navicat界面好看,不用都不行啊,但是进行连接的时候却一直报12514,28547等又常见又坑爹的错误,上百度搜索了一大堆都无法解决,具体是哪些就不列出来了。不过有一点网上说的是正确的!,就是navicat的oci.dll版本有问题!但是千万别去下载,因为oracle安装之后已经有了,只需要把它指过去就行了!于是自己动手吧。下面说下我的解决过程,方便有同样问题的同学可以参考一下。
1.将OCI 的地址改为你的oci.dll地址,这个dll在你的oracle安装目录下的bin下,搜索一下就看到了。
2.重启navicat,如果是新安装oracle的话,直接sys登录貌似会有问题,会提示需要as DBA登录,运行oracle的命令行工具 添加一个用户吧!
SQL> CREATE USER test PROFILE "DEFAULT"
2 IDENTIFIED BY "你的密码"
3 ACCOUNT UNLOCK;
SQL> GRANT CONNECT TO test;
SQL> GRANT DBA TO test;
3.打开navicat,连接oracle吧,如果报错的话,把C:\OracleXE112_Win64\app\oracle\product\11.2.0\server\network\listener.ora(这是我的路径)中的(PROGRAM = extproc)删除。
4.navicat中TNS登录,其他连线类型也可以,但是我是用这个的,其中XE是我配置文件中的service_name。
5.这样就能连接成功了,如果还是不行的话就参考百度中的文章吧,本文主要解决的是由navicat的oci.dll版本引起的导致无法连接oracle的问题。