Navicat 连接 Oracle 数据库(图文教程)

Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle及PostgreSQL 资料库,让管理不同类型的资料库更加的方便。

一、需要准备的软件

1.Navicat premium 32位

官方下载地址:http://www.navicat.com.cn/products/navicat-premium

2.Instant Client12.1.0.2.0 32位

Instant Client 是Oracle 公司推出的精简版客户端。

32位下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html

注意:不管你的Navicat是32位的还是64位的,你的Instant Client都要下载32位的,因为Navicat只支持32位的客户端。

二、安装配置

1.解压Instant Client到

F:\gome\instantclient_12_1

2.配置Navicat premium的oci

Navicat Premium默认自带了instantclient_10_2,但是其是base lite版本的(Basic Lite: Basic 的精简版本,其中仅带有英文错误消息和 Unicode、ASCII 以及西欧字符集支持),不支持中文字符集,而本文中的服务器端oracle恰好是中文字符集,instantclient_10_2不适合,因此需要下载base版本。

将Navicat Premium中的OCI library设置为F:/gome/instantclient_12_1/oci.dll,然后重启生效。

微信截图_20200512095845.png

三、连接Oracle

1.打开Navicat Premium,点击连接选择Oracle

微信截图_20200512095904.png

2.填写连接信息

Navicat Premium中oracle有两种连接类型:Basic和TNS。

在 Basic 模式中,通过 Oracle Call Interface (OCI) 连接 Oracle。OCI 是一个应用程序界面,让程序开发人员使用第三代语言原有进程或函数呼叫来访问 Oracle 数据库及控制全部 SQL 语句运行的阶段。OCI 是一个标准数据库访问的库和动态链接库形式检索函数。Basic模式需要输入主机名或IP地址、端口及服务名或SID。

在 TNS 模式中,需要使用在 tnsnames.ora 文件中的别名项目通过 Oracle Call Interface (OCI) 连接 Oracle 服务器。TNS模式只需要选择网络服务名,但是之前需要新建tnsnames.ora,并配置数据库服务。

推荐使用更简洁Basic模式,可以省去复杂的tnsnames配置。本文采用的就是Basic模式。

在下图“新建连接”界面,输入连接名、连接类型、主机名或IP地址、端口、服务名或SID、用户名及密码,点击确定即可连接数据库。

微信截图_20200512095933.png

点击连接测试,提示测试成功,证明连接成功!

微信截图_20200512095944.png

三、问题总结

上面介绍的是连接的顺利的情况下的连接步骤,在连接的过程中也遇到一些问题,下面就把这些问题总结一下:

1.问题1:ORA-12737:Instant Client Light:unsupported server character set ZHS16GBK

该问题是直接使用Navicat自带的instantclient_10_2造成的。自带的采用的是Basic Lite版本的instantclient。

Basic Lite:Basic的精简版本,其中仅带有英文错误消息和 Unicode、ASCII以及西欧字符集支持

Basic:运行OCI、OCCI和JDBC-OCI 应用程序所需的所有文件,包含中文字符集。解决办法就是换个Basic版本的instantclient。

2.问题2:only compatible with oci vers and higherion 8.1 and higher

与本地oracle连接的时候,一般没问题,sqlplus和oci都是本地oracle自带的,(设置: 工具->选项->oci)分别为:

oci:D:\app\pcman\product\11.2.0\dbhome_1\BIN\oci.dll

Sqlplus: D:\app\pcman\product\11.2.0\dbhome_1\BIN\sqlplus.exe。

如果是与远程服务器连接就要确保本地和远程的oracle版本一致,是11g的都要用11g,以防止sqlplus和oci不匹配而出问题,另外,navicat好像只能用32位的oci,可以从这里下(http://www.oracle.com/technetwork/topics/winsoft-085727.html。)

3.问题3:Cannot load OCI DLL,193

这是由于Navicat的版本和Navicat Premium不一致造成的,因为Navicat Premium只支持32位的Instant Client,检查一下你下载的的是不是32位的Instant Client。

推荐教程:《Oracle教程》

以上就是Navicat 连接 Oracle 数据库(图文教程)的详细内容,更多请关注www.sxiaw.com其它相关文章!