Navicat Premium连接oracle数据库时报错ORA-12737 set ZHS16GBK

2024-01-18 19:58

本文主要是介绍Navicat Premium连接oracle数据库时报错ORA-12737 set ZHS16GBK,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Navicat Premium版本:
       Version 10.0.11 - premium
问题:
       在连接oracle数据库时,无法连接,出现如下提示:

 Navicat Premium连接oracle数据库时报错ORA-12737 set ZHS16GBK - oメ朱朱メo - 我的博客

注:

       1.使用Navicat Premium可以成功连接mysql数据库

       2.使用Toad可以成功连接到oracle数据库

       只在使用Navicat Premium连接oracle数据库时失败

 

百度:

       "ORA-12737:Instant Client Light:unsupported server character set ZHS16GBK",找到如下资源,按照其中方法解决问题

引用自:

       http://www.blogjava.net/coundy/archive/2011/06/18/352577.html

关于navicat连接oracle 报 ORA-12737 set CHS16GBK错误的解决
参考资料: http://apps.hi.baidu.com/share/detail/32733067
1、原因:
ORA-12737: Instant Client Light: unsupported server character set CHS16GBK
Google,解释如下:
ORA-12737:
Instant Client Light: unsupported server character set string
Cause:     The character set specified is not allowed for this operation or is invalid. Instant Client Light has only minimal character sets.
Action:     Do not use Instant Client Light for this character set
2、首先,我们打开“tools”-->"options"菜单,见到如下界面,依据OCI library(oci.dll) 路径,导航到navicat oci目录下,备份里面的文件(通过在该目录新建bak文件夹,将“%dir%/Navicat Lite\instantclient_10_2”路径下的所有dll文件剪切到bak文件夹)。

3、在oracle 客户端安装目录bin/目录下,找到如下几个.dll文件
4、将上面所列文件copy到“%dir%/Navicat Lite\instantclient_10_2” 目录下,重新启动navicat即可。

问题原因:

Navicat自带的OCI.dll不支持GBK字符集.

以下是Oracle官网上的一段说明
http://www.oracle.com/technetwork/topics/winsoft-085727.html

Version 10.2.0.5

Instant Client Package - Basic:All files required to run OCI, OCCI, and JDBC-OCI applications
instantclient-basic-win32-10.2.0.5.zip(34,846,661 bytes)

*Instant Client Package - Basic Lite:Smaller version of the Basic, with only English error messages and Unicode, ASCII, and Western European character set support (10.2 only)
instantclient-basiclite-win32-10.2.0.5.zip(10,670,287 bytes)

注意红色部分,lite版的OCI只支持unicode、ascii和西文字符集,这个Navicat提示的不支持GBK字符集相吻合,因此可以推测Navicat不支持GBK的根源在于OCI.dll用的是lite版的,

解决方法:

下载一个非lite版的OCI就可以了
下载地址: http://www.oracle.com/technetwork/topics/winsoft-085727.html
下载链接: http://download.oracle.com/otn/nt/instantclient/10205/instantclient-basic-win32-10.2.0.5.zip

将下载好的 instantclient-basic-win32-10.2.0.5.zip解压到Navicat的安装目录,替换原来的文件

然后打开 Navicat --> 工具 --> 选项 --> 其他 --> OCI,在"OCI library (oci.dll)"中选择刚才解压的文件夹中的oci.dll即可.


 

这篇关于Navicat Premium连接oracle数据库时报错ORA-12737 set ZHS16GBK的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/620090

相关文章

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示