• 首页
  • 狐文
  • 狐图
  • About
狐窝
OvO
  1. 首页
  2. 未分类
  3. 正文

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

2019年04月20日 75点热度 0人点赞 0条评论
2011-10-11 from--https://cfanllm.iteye.com/blog/1195493

解决:
打开运行器进入注册表编辑
运行--》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、执行

Sql代码  收藏代码
  1. SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET'

其中'NLS_CHARACTERSET'必须为大写。

Text代码  收藏代码
  1. PARAMETER
  2. --------------------
  3. VALUE
  4. --------------------
  5. NLS_CHARACTERSET
  6. ZHS16GBK

 

解决方法:

一、linux环境

在oracle用户的.bash_profile文件加入

Text代码  收藏代码
  1. export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

二、windows环境

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

Text代码  收藏代码
  1. 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时系统编号。
标签: 暂无
最后更新:2019年04月20日

OvO

狐狸

点赞
< 上一篇
下一篇 >
最新 热点 随机
最新 热点 随机
钛备份或小米系统备份功能备份出来的APK无法正常还原 BBR安装启用 安装docker mitmproxy 调试方法 Android SDK 版本选择 Perdition Mail代理服务器配置 HAProxy SSL代理 Openssl 中间人SSL代理 Stunnel SSL to SSL代理 NGINX反代IMAP配置 各种设备User Agent Torrent下载工具推荐 用 rar2john+hashcat 破解 RAR 文件密码 2020最好的Linux发行版 关闭新版chrome工具栏上拼图图标 Office 下载、安装、激活,有它就够了! Android 非官方的发行版 openwrt添加autoconf-archive
archlinux安装 如何隐藏windows 10 此电脑中多出来的 3D 对象 文件夹 使用IntelliJ IDEA开发SpringMVC网站(一)开发环境 bzroot解包、打包 MySql5.7创建数据库与添加用户、删除用户及授权 Android SDK 版本选择 简单的manjaro安装powerline及vim zsh配置 30个国外黑色网站设计欣赏 Aria2 使用手札(简易部署 + 快速进阶) FreeNAS 为数据集选择共享类型 freenas 插件权限设置 Android 系统上的 Xposed 框架中都有哪些值得推荐的模块? 如何构建一个中型的 web 应用(全栈技术) Maven启用代理访问 MyBatis3 用log4j在控制台输出 SQL SSH无需密码密钥登录 Intellij Idea 的maven 项目会在 右键菜单 maven reimport 变成jdk 1.5 firefox 62 双击关闭标签页
标签聚合
下载 镜像 ssl https chromium docker 路由 git 网卡 chrome linux blog e 安装 密码 yum

COPYRIGHT © 2020 狐窝. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS