`

Oracle 客户端plsql developer和服务器编码不同的解决办法

 
阅读更多

解决: 
打开运行器进入注册表编辑 
运行--》regedit 
找到 
HKEY_LOCAL_MACHINE\  SOFTWARE\ ORACLE\KEY_OraDb10g_home1 的变量NLS_LANG的值 
SIMPLIFIED CHINESE_CHINA.ZHS16GBK  
改变成以下的值 
SIMPLIFIED CHINESE_CHINA.AL32UTF8(服务端编码) 

 

 

要用一个有权限的用户进行以下操作

说明:
EXP-00091: 出口可疑的统计。
EXP-00091: Exporting questionable statistics.

产生:
在数据库的服务器端和客户端字符集不同的情况 下,导出(dump)数据库表时,会产生这个错误。虽然产生这个错误,但好像对导入没有影响。

解决:

服务器端数据的字符集查看方法:
1、打开SQLPLUS,用sys用户登录。
2、执行

SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET'

 
其中'NLS_CHARACTERSET'必须为大写。

PARAMETER
--------------------
VALUE
--------------------
NLS_CHARACTERSET
ZHS16GBK

 

解决方法:

     一、linux环境

    在oracle用户的.bash_profile文件加入

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

   二、windows环境 

    1、打开注册 表,依次进入HKEY_LOCAL_MACHINE→SOFTWARE→ORACLE→HOME0目录。
    2、察看NLS_LANG的值。
    3、将其修改为数据库服务器端字符集相同的字符或临时设定环境变量

set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 

 
     本方法适用于Oracle9i, 10g以及XE. 在10.2.0.1.0下测试无错. 需要注意的是, 使用此方法会破坏数据库中的原有双字节字符. 一种办法是先将数据库导出, 修改完字符集后再导入; 另一种办法就是不管他, 就那样使用. 一般如果是一个测试环境, 像方法二那样就可以了, 但是可能某些表无法读取, 需要注意.

 
sql> shutdown immediate
sql> startup mount
sql> alter system enable restricted session;
sql> alter system set job_queue_processes=0;
sql> alter system set aq_tm_processes=0;
sql> alter database open;
sql> alter database character set <internal_use> AL32UTF8;
sql> shutdown immediate
sql> startup
 
这里的INTERNAL_USE可选,譬如用于不能从父集转到子集的场合,但是这样做会产生乱码,或者表中的数据不能读取。
 
如果数据库中存在CLOB字段,那么就不允许对字符集进行转换,此时可以查看alert<sid>.log文件,把含有CLOB的表trancate.
 
sql> trancate table [table_name];
 
转换后的数据库字符集可以通过以下命令察看.
 
sql> select name, value$ from props$ where name like '%NLS%';
 
导入导出是我们常用的一个数据迁移及转化工具,因其导出文件具有平台无关性,所以在跨平台迁移中,最为常用。

在导出操作时,非常重要的是客户端的字符集设置,也就是客户端的NLS_LANG设置。
 
NLS_LANG参数由以下部分组成:
 
NLS_LANG=<Language>_<Territory>.<Clients Characterset>
 
NLS_LANG各部分含义如下:
    Language
        -Oracle消息使用的语言 
        -日期中月份和日显示
    Territory 
        -货币和数字格式 
        -地区和计算星期及日期的习惯
    Clients Characterset 
        -控制客户端应用程序使用的字符集
 
例如
 
E:\>set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
E:\>sqlplus "/ as sysdba"
 
或者
 
E:\>set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
E:\>sqlplus "/ as sysdba"
 
Windows客户端设置,可以在注册表中更改NLS_LANG,具体键值位于:
 
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\
 
xx指存在多个ORACLE_HOME时系统编号。
分享到:
评论
1 楼 chenxi_sh 2014-05-05  
good,解决了问题

相关推荐

    PLSQL developer 和 oracle 客户端

    在32位操作系统环境下,我们通常会搭配使用PLSQL Developer和Oracle客户端来完成对数据库的管理和开发工作。 PLSQL Developer是由Allround Automations公司开发的一款集成开发环境(IDE),主要用于编写、调试、...

    PLSQLDeveloper(64位)

    描述中的“oracle客户端连接工具”暗示了PLSQL Developer的主要功能之一是作为Oracle数据库的客户端工具,允许用户连接到远程或本地的Oracle服务器,执行SQL查询、编写PL/SQL存储过程、触发器、函数等,同时支持...

    只装plsql不装oracle客户端链接方法

    本文档将详细介绍如何使用 PLSQL 连接 Oracle 数据库,而无需安装 Oracle 客户端。该方法适用于只安装了 PLSQL 的机器,但需要远程连接其他 Oracle 数据库的情景。 一、详细操作步骤: 1. 安装 PLSQL 客户端并注册...

    PLSQL Developer9-免Oracle客户端.zip

    这个“PLSQL Developer9-免Oracle客户端.zip”文件包含的是PLSQL Developer的第9个版本,该版本的一大亮点是它不需要单独安装Oracle客户端,简化了开发环境的配置过程。 PL/SQL是Oracle数据库的编程语言,结合了SQL...

    Oracle客户端PL/SQL 中文乱码解决

    然而,由于涉及到的操作系统、数据库版本以及具体的应用场景不同,乱码问题可能有多种表现和解决方案。在实际操作中,需要结合具体的错误现象和环境进行分析,确保所有涉及字符集的环节都得到匹配和协调。 文档...

    PLSQL Developer 中文乱码的解决1

    在IT行业中,数据库管理和开发是至关重要的工作环节,而PL/SQL Developer是一款广泛使用的Oracle数据库管理工具。然而,当涉及到不同字符集时,可能会遇到中文乱码的问题,尤其是在跨服务器迁移数据库时。本文将深入...

    win7_oracle11g_64位连接32位PLSQL_Developer

    这样做的目的是让PLSQL Developer能够通过这些环境变量找到正确的Oracle客户端库和配置文件。在批处理文件中,通过set命令指定Instant Client的路径,并启动PLSQL Developer。 在解决完连接问题后,还需要处理中文...

    PLSqlDeveloper配置

    在使用PLSqlDeveloper时,通常需要与Oracle客户端(如Oracle11g client)配合,以实现对Oracle数据库的全面访问和管理。以下是关于PLSqlDeveloper配置的一些详细步骤和知识点: 1. **安装Oracle11g Client**: ...

    PLSQL Developer 7.0用户指南.pdf

    2. **Oracle 客户端**:需预先安装 Oracle 客户端,以便 PLSQL Developer 可以连接到 Oracle 数据库服务器。 3. **许可密钥**:输入有效的许可密钥以激活软件的功能。 #### 四、使用技巧与最佳实践 1. **充分利用...

    Oracle的tnsnames.ora配置(PLSQL Developer)

    通过以上步骤,我们不仅完成了Oracle客户端环境的配置,还学会了如何通过PL/SQL Developer工具连接到Oracle数据库。需要注意的是,所有这些配置都必须根据实际情况进行调整,比如不同的操作系统、不同的Oracle版本...

    PLSQL8.*[集成Oracle客户端].

    以下是关于PLSQL Developer和Oracle客户端的一些关键知识点: 1. **数据库连接**:PLSQL Developer支持多种连接方式,包括TCP/IP、命名管道和本地套接字。用户可以保存多个连接配置,方便快速切换不同的数据库环境...

    PLSQL Developer 12绿色汉化版

    总的来说,PLSQL Developer 12绿色汉化版是一个强大而全面的Oracle数据库开发解决方案,尤其适合那些需要在无Oracle客户端环境下的工作。通过其高效、易用的特性,无论是新手还是经验丰富的开发者,都能快速上手并...

    不用安装oracle客户端也可以用plsql连接远程oracle

    标题所述的“不用安装oracle客户端也可以用plsql连接远程oracle”是一种常见的技术实践,它允许开发者在不安装完整的Oracle客户端软件的情况下,通过PL/SQL Developer工具连接到远程Oracle数据库进行管理和开发工作...

    PLSQL Developer.zip

    5. **数据库连接**:要使用PLSQL Developer,首先需要安装Oracle客户端。提供的链接(https://download.csdn.net/download/qq_26565861/11256488)可以下载Oracle客户端,它包含了连接到Oracle服务器所需的组件和...

    PLSQLDeveloper_cn_zh_v13.0.4.1906.zip

    标题中的"PLSQLDeveloper_cn_zh_v13.0.4.1906.zip"表明这是该软件的中文版本,版本号为13.0.4.1906,已由发布者验证为可正常运行。"cn_zh"表示是中文简体语言版本,适应中国用户的需求。 在描述中提到,"本人已经...

    PLSQL Developer v8.0.2 附注册机

    包含的Oracle客户端软件允许PLSQL Developer连接到Oracle数据库服务器,执行SQL查询和管理数据库。客户端通常包含网络通信组件、SQL*Plus以及其他必要的库文件。 总的来说,PLSQL Developer v8.0.2是一个强大的...

    plsql 和 oracleClient 包括安装教程

    PLSQL Developer是一款强大的Oracle数据库开发工具,而Oracle Client则是Oracle数据库的客户端组件,它们是数据库管理员和开发人员日常工作中不可或缺的工具。以下是对这两个组件的详细介绍以及安装教程的关键步骤。...

    plsqal developer + 免oracle客户端安装包

    标题中的“plsqal developer + 免oracle客户端安装包”指的是PL/SQL Developer这款软件,它是一款专为Oracle数据库设计的集成开发环境。PL/SQL Developer允许开发人员编写、调试、执行和管理PL/SQL代码,是Oracle...

    PLSQL Developer(非安装版)

    在使用PLSQL Developer时,应确保已正确配置Oracle客户端环境,包括TNSNAMES.ORA文件,以连接到所需的数据库服务器。此外,定期更新软件以获取最新的功能和安全补丁也是很重要的。总的来说,PLSQL Developer是一款...

Global site tag (gtag.js) - Google Analytics