昨天开始工作的时候听同事说:Navicat可以连各种数据库,包括Oracle,头一次听说!!!很是尴尬。现在记录一下怎么用Navicat连接Oracle。最重要的是,Navicat只支持32的Oracle,Navicat最好也是用32位版本的。同时要用oracleclient里面的OCI.dll来代替默认的OCI.dll。
一、需要准备的软件
1.Navicat premium 32位(必须是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到一个没有中文,没有空格的文件夹下面,我解压到了Navicat Premium的安装目录下
C:\Program Files\PremiumSoft\Navicat Premium
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,然后重启生效。
三、连接Oracle
1.打开Navicat Premium,点击连接选择Oracle
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、用户名及密码,点击确定即可连接数据库。
点击连接测试,提示测试成功,证明连接成功!