在CSDN中找到了这个方法:希望能有更好的,不想出一个月的差!
使用一点点技巧,就可以使导出/导入在不同的字符集的数据库上转换数据。这里需要一个2进制文件编辑工具即可,如uedit32。用编辑方式打开导出的dmp文件,获取2、3字节的内容,如00 01,先把它转换为10进制数,为1,使用函数NLS_CHARSET_NAME即可获得该字符集:
SQL> select nls_charset_name(1) from dual;
NLS_CHARSET_NAME(1)
-------------------
US7ASCII
可以知道该dmp文件的字符集为US7ASCII,如果需要把该dmp文件的字符集换成ZHS16GBK,则需要用NLS_CHARSET_ID获取该字符集的编号:
SQL> select nls_charset_id('zhs16gbk') from dual;
NLS_CHARSET_ID('ZHS16GBK')
--------------------------
852
把852换成16进制数,为354,把2、3字节的00 01换成03 54,即完成了把该dmp文件字符集从us7ascii到zhs16gbk的转化,这样,再把该dmp文件导入到zhs16gbk字符集的数据库就可以了
使用一点点技巧,就可以使导出/导入在不同的字符集的数据库上转换数据。这里需要一个2进制文件编辑工具即可,如uedit32。用编辑方式打开导出的dmp文件,获取2、3字节的内容,如00 01,先把它转换为10进制数,为1,使用函数NLS_CHARSET_NAME即可获得该字符集:
SQL> select nls_charset_name(1) from dual;
NLS_CHARSET_NAME(1)
-------------------
US7ASCII
可以知道该dmp文件的字符集为US7ASCII,如果需要把该dmp文件的字符集换成ZHS16GBK,则需要用NLS_CHARSET_ID获取该字符集的编号:
SQL> select nls_charset_id('zhs16gbk') from dual;
NLS_CHARSET_ID('ZHS16GBK')
--------------------------
852
把852换成16进制数,为354,把2、3字节的00 01换成03 54,即完成了把该dmp文件字符集从us7ascii到zhs16gbk的转化,这样,再把该dmp文件导入到zhs16gbk字符集的数据库就可以了
解决方案 »
- Oracle 统计查询
- 数据库里存的值是20060115,查询语句应该怎么写,查出来是2006/01/15
- 各位高手指点下小弟,小弟遇到问题,还请各位帮帮忙select'编号是:'‖empno‖'的雇员,姓名是:'‖ename‖',工作是:'‖job from emp
- Alter System Set Control_Files...出错?
- 关于union的奇怪问题,高手请进!
- 起火啦,快来救命呀
- 数据不一致的SQL怎么写?
- 10G emctl 起动失败
- 请高手帮我理解一条sql语句的意思?谢谢!!!!!
- 怎样在SQL*Plus中运行存储过程,在线等待!!!
- 我想做数据库开发,后台用ORACLE8I/9I.请问前台用什么开发工具比较好一些,做C/S和B/S?
- dev9i中如何调整显示在IE中的form窗口大小?
sql>commit;
重新启动数据库。
修改注册表NLS_LANG的值为为SIMPLIFIED CHINESE_CHINA.ZHS16GBK 倒出数据 到客户那里
建立相应的表空间,用户
然后导入数据
User : BGFA
Table : DM_HYFL
Column: NAME
Type : VARCHAR2(32)
Number of Exceptions : 12
Max Post Conversion Data Size: 16 ROWID Exception Type Size Cell Data(first 30 bytes)
------------------ ------------------ ----- ------------------------------
AAAGINAADAAALrzAAA lossy conversion ????
AAAGINAADAAALrzAAB lossy conversion ????
AAAGINAADAAALrzAAC lossy conversion ???¨
AAAGINAADAAALrzAAD lossy conversion ????
AAAGINAADAAALrzAAE lossy conversion ????
AAAGINAADAAALrzAAF lossy conversion ????
AAAGINAADAAALrzAAG lossy conversion ????
AAAGINAADAAALrzAAH lossy conversion ????
AAAGINAADAAALrzAAI lossy conversion ??·?
AAAGINAADAAALrzAAJ lossy conversion ????
AAAGINAADAAALrzAAK lossy conversion ?ú??
AAAGINAADAAALrzAAL lossy conversion ???¨
------------------ ------------------ ----- ------------------------------
Table : DM_GZFL
Column: NAME
Type : VARCHAR2(16)
Number of Exceptions : 3
Max Post Conversion Data Size: 32 ROWID Exception Type Size Cell Data(first 30 bytes)
------------------ ------------------ ----- ------------------------------
AAAGIKAADAAALrDAAA lossy conversion ????
AAAGIKAADAAALrDAAB exceed column size 32 ???¨?¤??
AAAGIKAADAAALrDAAB lossy conversion ???¨?¤??
AAAGIKAADAAALrDAAC lossy conversion ????
------------------ ------------------ ----- ------------------------------