因为项目使用的是远程Oracle数据库,但是又不想安装oracle(太大,卸载麻烦,安装也麻烦)。所以选择该方式连接oracle。
网上其实已经有很多教程了,navicat官网上也有教程。但是自己实际使用的时候也还是遇到了一些问题。
主要流程
1. 下载 instantclient ,oracle官网下载地址
将下载的压缩包解压,找到两个重要的文件。oci.dll和sqlplus.exe。
如果压缩包里只有oci.dll,说明下载的是轻量级的压缩包( instantclient-basiclite-windows.x64xxxxxxx.zip )。还需要下载 instantclient-sqlplus-windows.x64-xxxxxxx.zip。
要么下载一个basic 版本的压缩包,要么下载basiclite和sqlplus这两个压缩包
2. 配置oci
打开navicat, 选择 工具菜单(tools) ----> 选择options选项---->切换至oci选项卡。
然后就会发现,需要配置oci.dll和sqlplus.exe文件
错误
1. Only compatiable with OCI version 8.1 and higher.
- 没有配置oci.dll路径或者没有配置sqlplus路径
- oci.dll 文件的版本和sqlplus.exe文件的版本不一致
2. instant clinet package is required for basic and tns connection
- Basic和TNS连接类型需要Instant Client包。
通常该错误原因是 oci.dll 平台不正确(区分64位和32为系统)。Navicat版本10或更低版本,Navicat仅支持32位即时客户端,但是10以上的需要64位
连接类型:
- 在基本模式下,Navicat Oracle通过Oracle调用接口(OCI)连接到Oracle。OCI是一个应用程序编程接口,允许应用程序开发人员使用第三代语言的本机过程或函数调用来访问Oracle数据库服务器并控制SQL语句执行的所有阶段。OCI是动态链接库形式的标准数据库访问和检索功能库。
- 在TNS模式下,Navicat Oracle使用tnsnames.ora文件中的别名条目连接到Oracle服务器。
下载Oracle 实例包需要注册。所以我将下载好的文件上传到了百度云,有需要的可以下载。https://pan.baidu.com/s/1Aydt68F7PBveWMlk-cNoWQ
我的navicat版本是11.0.16,是可以正常使用的