今天使用的Navicat premium 32位连接oracle数据库出现的诸多问题,作个记录。
第一次连,需要准备这些项:
ip + port + 服务名(这个地方需要注意) + username + pass;
点连接测试:
1.Navicat连接Oracle数据库提示错误:Ora-12514:TNS:listener does not currently know of service requested in connect descriptor;
原因: 服务名错误,默认是ORCL ,但如果有改动的话,需要去确认,去oracle/product/11.2.0/xe/network/admin/tnsnames.ora 这个文件中找到 SERVICE_NAME= 你的服务名, 我的这个信息是被修改过的,其他在用的同事有这个文件,需要和文件中的值保持一致;
2.上面的修正了之后,继续报错:cannot load oci dll :28547, 87 ,193
明显是oci.dll文件有问题,经过网上查资料,找到我navicat里面的该文件路径:
这个文件夹是Navicat自带的Oralce的驱动,里面的内容、版本可能会不太对。
可以看到我的是instantclient_10_2,然后我去官网上下载了驱动:
https://www.oracle.com/technetwork/cn/topics/winia64soft-083954-zhs.html
将下载后的文件放入本机的instantclient_10_2 文件夹里,全部覆盖,然后发现报错:cannot load oci dll,193
这是因为我的Navicat居然是32位的。。。。继续去这个地址下载:
https://www.oracle.com/technetwork/topics/winsoft-085727.html
找到对应的10.2 basic版本下载
下载后,同样的操作,覆盖本地文件夹,然后打开 Navicat,还去设置 oci.dll,把路径指向 刚才本地的instantclient_10_2里面的oci.dll,
再连接测试,成功!