Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2495310
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: Oracle

2020-04-23 15:19:46

1. 查询数据库实例的所用的NS_LANG的值,使用如下的语句查询
select userenv('language') from dual;
比如我的ubuntu 18.04 采用docker安装的oracle数据库的值为
AMERICAN_AMERICA.AL32UTF8

2.配置环境变量,因为我的是ubuntu使用wine,因此使用如下命令
$ wine regedit

打开节点
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
新增一个NLS_LANG的值为你上面查询的值,我的为AMERICAN_AMERICA.AL32UTF8
然后重新用wine加载PL/SQL Developer

如果导入表后,发现注释为乱码,原因为导入端的数据库服务器的NLS_LANG与导出服务器的字符集不一致造成的.因此在导入数据库服务器设置NLS_LANG环境变量的值.
因此如果导入侧的数据库服务器为linux,则修改~/.bash_profile文件,加入
export 
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
如果windows环境,则追加环境变量 NLS_LANG 为AMERICAN_AMERICA.AL32UTF8
总之一个原则,保持导出的数据库字符集与导入的数据库字符集一致即可.
阅读(1949) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~