navicat连接oracle报错ORA-12737: Instant Client Light: unsupported server character set CHS16GBK”

简介: 原文如下http://blog.163.com/cp7618@yeah/blog/static/7023477720142154449893/?COLLCC=1318255100&   这个工具可以用于任何版本 8i 或以上的 Oracle 数据库服务器,并支持大部份 Oracle 最新版本的功能,包括目录、表空间、同义词、实体化视图、触发器、序列、类型等。

原文如下http://blog.163.com/cp7618@yeah/blog/static/7023477720142154449893/?COLLCC=1318255100&

 

这个工具可以用于任何版本 8i 或以上的 Oracle 数据库服务器,并支持大部份 Oracle 最新版本的功能,包括目录、表空间、同义词、实体化视图、触发器、序列、类型等。下边的这张图是oracle版的,MySQL和Sql Server的基本上和它是一样的。先来看一下Oracle版的吧!

看到了这个界面,相信很多人都会喜欢,这个界面十分的简洁,没有多余的东西,我认为对于日常的操作基本上可以满足要求了,数据库的操作都十分的方便,我相信看过一眼,基本上就会了。以下是我对这个软件的安装和配置。希望对有需要的人有所帮助。
一、Navicat for Oracle的安装:
1、双击它的安装文件,出现如下所示的界面,这里我选择的是自定义安装,单击“下一步”继续安装,如图所示:

 
2、在出现的界面中,选择安装的目标文件夹,这里我选在了d盘,单击“下一步”继续,如图所示:

 
3、在出现的界面中,选择要安装的组件,单击“安装”按钮,如图所示:

 
4、经过几秒钟的时间,软件成功的安装了,接下来单击完成按钮,启动这个工具,如图所示:

 
二、Navicat for Oracle的配置
1、启动该工具,出现如下的开始界面,单击“连接”选项,进行连接数据库,如图所示:

 
6、在“新建连接”对话框中,输入任意的连接名,选择默认的连接类型,输入oracle数据库所在的服务器地址,这里我选择是“localhost”,输入oracle的端口号“1521”,输入数据库的SID或者是该数据库所对应的服务名,输入用户名和密码,这里我使用的是“scott”,单击“连接测试”按钮,进行测试,看看是否成功,如图所示:

 
7、当我选择开始测试的时候,出现了错误:“ORA-12737: Instant Client Light: unsupported server character set CHS16GBK”,这个错误是很典型的,是由于服务器的编码不支持造成的,但是如果我改变了服务器的字符集编码,这是不现实的,所以上网找了解决的方案,最后知道了只要去oracle官网下载一个最新版的OCI的文件,将原先的OCI的文件的覆盖即可解决下,只不过文件稍微有点大。该文件在博客的末尾已经提供了,下面是文件的替换的过程,下载的文件是一个压缩的文件,取出的其中的4个文件:oci.dll,orannzsbb11.dll,oraocci11.dll,oraociei11.dll(这个文件最重要),按照如下的步骤将文件替换。选则“工具”菜单下的“选项”命令,如图所示打开选项的界面:

 
8、在“其它”的下边选择OCI,在右边的第一个的文件浏览的地方,选择oci.dll的位置,默认的位置是“安装目录\instantclient_10_2”,把从压缩文件中取出的四个文件放到该目录下,如图所示:

 
9、这样配置之后,重新启动该软件,并向前一步的连接配置,测试连接,这是连接就成功了,如图所示:

 
10、成功之后就可以看到”scott”用户的表了,可以很方便的操作数据库了。

 
我所使用的数据库是oracle10g,我们下载的是Instant client这个工具,它有11的和10的版本,对oracle9i及以上的版本使用11的。其他使用10版本的。
 
附上用到的软件的下载地址:
Navicat for Oracle工具下载:
http://xiazai.xiazaiba.com/Soft/N/Navicat_for_Oracle_10.0.11.0_XiaZaiBa.exe
解决字符集的工具下载:
http://download.oracle.com/otn/nt/instantclient/112030/instantclient-basic-nt-11.2.0.3.0.zip
参考文章:
http://wenku.baidu.com/view/319c742e4b73f242336c5fe2.html
http://hi.baidu.com/3170716/item/14b2d0f224022e0a84d278bc

 

使用navicat、pl/sql developer连接oracle数据库
到oracle 官网 下载Instant Client 这个过程不再多说了,下载完成后解压。

配置navicat:【Basic/TNS】
点击navicat的工具-》选项-》其他-》oci
oci library: 选择刚刚下载解压的instant client中的 oci.dll 即可
新建一个oracle连接
Basic
  连接名:【自定义】
  连接类型:Basic
  主机名或ip地址:要连接的主机名或ip地址
  端口:数据库端口
  服务名或SID:根据自己的情况如果选了服务名,那么就写数据库的全局数据库名,
               如果选了SID那就写数据库的SID
用户名密码就不说了。
TNS
  连接名:【自定义】
  连接类型:TNS
  网络服务名:ip地址:[端口]/SID[数据库名] (如:127.0.0.1:1521/orcl 如果是默认端口1521,那么端口号也可以不写,直接写如 127.0.0.1/orcl)
  用户名密码就不说了。

配置PLSQL:
  配置PLSQL相对要复杂一点点,需要配置一下环境变量。
 
  将下载完instant client解压后的路径配置到环境变量path中。如 F:\software\instantclient_10_2\
  如果数据库表中的数据有中文的话还要再配置一下查询字符集,再配置一个环境变量。
  新建一个
  变量名:NLS_LANG
  变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  注意:变量值不要忽略了中间的空格,还有为什么不用AL32UTF8,是因为用AL32UTF8在查询timestamp类型的字段值时会乱码,其他类型的会不会也会有没有仔细测,反正用ZHS16GBK最保险,肯定管用。
  打开PLSQL,输入用户名、密码,数据库和navicat的TNS配置方式中的网络服务名输入格式一模一样即可。
另:还可以在instant client的目录中新建一个NETWORK/ADMIN/tnsnames.ora文件,在里面进行网络服务名配置,配置方式和配置oracle的net服务名配置方式一样,格式如下,可根据自己的需求更改一下即可。配置完成后navicat的TNS的网路服务名和PLSQL的数据库下拉框里就会出来你配置好的服务名供你选择了【记得要重启一下客户端,否则会连接失败的】。
 
服务名 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 地址)(PORT = 端口))
    )
    (CONNECT_DATA =
      (SID = 这里写SID)
      (SERVER = DEDICATED)
    )
  )
服务名2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 地址2)(PORT = 端口2))
    )
    (CONNECT_DATA =
      (SID = 这里写SID2)
      (SERVER = DEDICATED)
    )
  )

若转载请注明出处!若有疑问,请回复交流!
目录
相关文章
|
29天前
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错之读取Oracle数据库时遇到找不到驱动,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
实时计算 Flink版操作报错之读取Oracle数据库时遇到找不到驱动,是什么原因
|
16天前
|
Oracle 关系型数据库 数据库
已解决:idea 连接 oracle 数据库 避雷
已解决:idea 连接 oracle 数据库 避雷
|
29天前
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错之报错:Caused by: oracle.jdbc.OracleDatabaseException: ORA-01291如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
29天前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错之遇到报错 Oracle 19C,如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
29天前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错之使用oracle-cdc的,遇到错误:ORA-01292: no log file has been specified for the current LogMiner session,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6天前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用问题之连接到Oracle数据库但无法读取到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3天前
|
Oracle 关系型数据库 Linux
Requirements for Installing Oracle Database/Client 19c on OL8 or RHEL8 64-bit (x86-64) (Doc ID 2668780.1)
Requirements for Installing Oracle Database/Client 19c on OL8 or RHEL8 64-bit (x86-64) (Doc ID 2668780.1)
9 0
|
6天前
|
资源调度 Oracle 关系型数据库
实时计算 Flink版产品使用问题之同步oracle表时,任务不报错,但是读不到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
29天前
|
消息中间件 Oracle 关系型数据库
实时计算 Flink版操作报错之同步Oracle时出现主题为空的报错该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
29天前
|
存储 NoSQL 关系型数据库
实时计算 Flink版操作报错之抽取Oracle11g时,报错: "Retrieve schema history failed, the schema records for engine ... has been removed",怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。

推荐镜像

更多