一直在使用Navicat,这是一个数据库客户端软件,能连接多种不同类型的数据库,给我们的日常的工作带来了不少的便捷。最近,我在电脑上安装了orcale,然后,Navicat就莫名其妙的不能连接oracle数据库了。总是提示如下错误:
先说下OCI是什么,百科上这样说:ORACLE调用接口(Oracle CallInterface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。
由此可见,想连接oracle,必须有可用的OCI,Navicat默认的OCI位置是Navicat Premium\instantclient_10_2\OCI.DLL。可通过Tools->Options-> Miscellaneous -> OCI来查看,如下图所示:
之前一直可以正常使用,但是安装了oracle后却不能使用了,我猜测安装oracle时,它修改了某些配置,导致了这个问题的发生。上网查了查,发现好多人说将OCI的位置改成oracle目录下的OCI位置就可以了。于是我这么做了,但重新启动Navicat后,却提示cannotload OCI dll,如下:
后来,无意间看到oracle的客户端文件夹里也有一个OCI.dll文件,抱着试试看的心态,将oci位置改成客户端中OCI的位置,结果如下图所示:
我想,当你看到上面的图片后,肯定跟我一样兴奋。