9i数据导入错误,请高手指教,非常非常紧急!救命救命!

从oracle9i英文版导出的数据,在oracel9i中文版中导入
出现无法识别的语句错误
我是导出了一些表,不是全部导出
怎么样才能导入呢?

---------------------------------------------------------------

要么更改服务器的字符集,要么更改dmp文件的字符集,保证2者一致就可以了。

用编辑方式(二进制)打开导出的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字符集的数据库就可以了。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus