Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同時连接到 MySQL、SQLite、Oracle 及 PostgreSQL 数据库,让管理不同类型的数据库更加方便。最重要的是它不用装Oracle客户端。
下边简单介绍一下 Navicat Premium 连接 Oracle 客户端的方法。
如果你的机器已经装有 Oracle 数据库的话,那很简单,Navicat Premium可以直接连接到 Oracle 。
如果没装,那 Navicat 会提示你需要安装 Oracle 客户端,如果不是必要,千万别装 Oracle 客户端,先不说它的块头很大,有四五百兆,装完后你很难卸载干净。
根据 Navicat 官方的文档,其实只需要下载 Oracle 的 Instance Client 即可。这个包只包含一些 dll 文件,无需安装解压即可。
要根据所要连接的 Oracle 版本来下载 Instance Client 的版本,对应关系如下:
Oracle 9i 或者更新的版本,需要使用 Instance Client 11 这个版本
Oracle 8 和 8i 用 Instance Client 10 版本。
另外必须注意的时候,只能下载 32 位版本,因为 Navicat 不支持 64 位的版本,另外要下载 Basic 版本 (40M),而不是 Basic Lite 版(11兆),因为 Basic Lite 版不支持中文,连接的时候会告诉你服务器端的编码不被支持。
下载完毕后解压到任意一个目录,然后打开 Navicat -> 工具 -> 选项 -> OCI ,在 OCI library 地方选择解压的目录下的oci.dll文件,确定后即可。
接下来就是新建一个 Oracle 连接,注意连接类型必须选择 Basic,否则你就又要搞很多配置文件。

Navicat for Oracle连接属性设置:

这里填写需要注意的是服务名或SID的填写,下面你勾选的是什么输入框里需要填写对应的值,这个值可以从Oracle的安装目录里的tnsnames.ora获取到。

如果本地安装了Oracle数据库的话,这个文件的目录F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

下面记录一下我碰到的问题:

当点击连接测试时,如果出现ORA-28547,如图:

解决方法:

用oracle安装文件目录F:\app\Administrator\product\11.2.0\dbhome_1\BIN
下的oci.dll替换了navicat安装文件目录D:\Navicat for Oracle\instantclient_10_2
下的oci.dll,之后就能连上了。

ORA-12737: Instant Client Light: unsupported server character set CHS16GBK 貌似也可以用同样的方法解决。

这个错误是很典型的,是由于服务器的编码不支持造成的,但是如果我改变了服务器的字符集编码,这是不现实的,所以解决的方案是要去Oracle官网下载一个最新版的OCI的文件,将原先Navicat的OCI文件覆盖即可。和上面直接在本地Oracle安装文件下找OCI文件是一样的。

ORA-12514:TNS:listener does not currently know of service requested in connect descriptor

侦听器目前并不知道连接描述符中请求的服务,出现以上问题的原因是服务名或SID这一项我写错了,如果选服务名,就必须填全局数据库名。如果选SID,就直接填写当前连接的SID名,对应服务器上数据库配置文件里的tnsnames.ora文件中的SID = ORADB。如下所示

ORADB_124.248.41.12 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 124.248.41.12)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORADB)
(SERVER = DEDICATED)
)
)

今天最后还碰到一个ORA-01017的错误,看来是有点晕,密码写错了造成的。

使用 Navicate 连接 Oracle9i 数据库的更多相关文章

  1. 使用 PLSQL 连接 Oracle9i 数据库

    昨天用了Navicate连接Oracle数据库,不停的掉线,然后死机,只能重启Navicate,没办法,还是用回plsql吧,重装了一遍(之前重装系统后,电脑自带的公司原有的软件没啦) 先安装了Ora ...

  2. 用navicate 连接本地数据库提示用户名/口令无效

    1.在用navicate连接本地的oracle数据库时,试了oracle几个默认的用户名和密码,但是当我输入时,却提示用户名/口令无效.所以按照网上的办法,cmd,输入了以下命令,修改了几个用户的用户 ...

  3. 解决navicate 连接mysql数据库中文乱码的问题

    以下均是ubuntu12.04为准 1.修改mysql的配置文件. 1.1.vi  /etc/mysql/my.conf找到[client]在其下面添加 default-character-set=u ...

  4. Navicate Premium连接Oracle数据库报错

    Navicat Premium连接MySQL数据库没有问题,在连接Oracle数据库的时候报错,提示:ORA-28547:connection to server failed,probable Or ...

  5. 用Navicat连接Oracle数据库时报错ORA-28547:connection to server failed,probable Oracle Net admin error

    用Navicat连接Oracle数据库时出现如下错误 上网一查原来是oci.dll版本不对.因为Navicat是通过Oracle客户端连接Oracle服务器的,Oracle的客户端分为两种,一种是标准 ...

  6. navicat 连接oracle数据库报错:ORA-28547:connection to server failed,probable Oracle Net admin error

    链接:http://pan.baidu.com/s/1dEO9qJR 密码:ye2c 用Navicat连接Oracle数据库时出现如下错误 上网一查原来是oci.dll版本不对.因为Navicat是通 ...

  7. 用ASP.Net(C#)连接Oracle数据库的方法及实例

    今天看了一下asp.net连接oracle数据库的方法,得到了如下代码.这段代码打开了MyTable表,并把操作员的名字列出.字段类型是OracleString.读取的时候用的是字段编号,我不知道怎么 ...

  8. atitit.client连接oracle数据库的方式总结

    client连接oracle数据库的方式总结 文件夹 Java程序连接一般使用jar驱动连接.. ... 桌面GUI一般採取c语言驱动oci.dll 直接连接... 间接连接(须要配置tns及其env ...

  9. navicat连接远程数据库报错'client does not support authentication protocol requested by server consider ...'解决方案

    [1.cmd终端连接远程mysql数据库方法] mysql -uhello -pworld   -h192.168.1.88 -P3306 -Dmysql_oa mysql -u用户名 -p密码 -h ...

随机推荐

  1. Node.js 程序应用

    在打开cmd 控制台 输入 node 然后在cmd中 输入您想要的代码 加减乘除 算法.

  2. Linux命令:unlias

    语法 unalias [-a] name [name ...] 说明 取消别名. 可以一次取消多个别名,写几个取消几个.不写,取消所有别名. 参数 -a 取消所有别名,不论后面是否跟一个还是多个nam ...

  3. EntityFrameworkCore DBFirst

    需要引用如下nuget包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityF ...

  4. Django_Form验证(三)字段,字段的参数,widgets种类

    Form工具是一个很强大的工具,所以他的功能不仅仅是上面2个例子,这里详细记录一下Form的其他功能 字段的一般参数,以CharFields为列子: user=fields.CharField( re ...

  5. Understanding ABI Files

    [Understanding ABI Files] ABI files can be generated using the eosio-cpp utility provided by eosio.c ...

  6. 十八、Memento 备忘录设计模式

    原理: 代码清单: Memento public class Memento { int mondey; ArrayList fruits; Memento(int mondey){ this.mon ...

  7. Cobbler安装CentOS7系统时报错 What do you want do now?

    问题的根源: 在cobbler服务主机中执行了  createrepo --update  /var/www/cobbler/ks_mirror/CentOS-7-x86_64/ 导致的. cobbl ...

  8. groupby一个as_index参数解释

  9. 169. Majority Element (Array)

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  10. 两种序列化的方法 Serializable Parcelable

    原文:https://blog.csdn.net/hacker_crazy/article/details/80840868 一.Serializable 1.Serializable 是java的序 ...