这个问题困斯我了 我都好几天睡不着觉了 可能是权限问题,是一下着个命令;imp scott/scott file=scott.dmp log=logb.txt(这个命令肯定没有问题,我已经用了无数次了). 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用一点点技巧,就可以使导出/导入在不同的字符集的数据库上转换数据。这里需要一个2进制文件编辑工具即可,如uedit32。用编辑方式打开导出的dmp文件,获取2、3字节的内容,如00 01,先把它转换为10进制数,为1,使用函数NLS_CHARSET_NAME即可获得该字符集:(ultraedit 打开几百M到上G的文件很慢,我试了winHex,哪个速度啊,闪电!)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字符集的数据库就可以了。(注意,十进制数与十六进制之间的转换,想明白其中的道理)SQL> select nls_charset_id('zhs16cgb231280') from dual;NLS_CHARSET_ID('ZHS16CGB231280')-------------------------------- 850字符集 代码(十进制) 对应的dmp文件(2、3字节/二进制)ZHS16CGB231280 850 03 52ZHS16GBK 852 03 54所以你改改字符集式一式,用uedit32! 求助一个简单的 PL/SQL编成 2 关于oracle中function方法的小问题 Oracle数据库创建一个表空间的异常 有关并行执行sql语句的问题。 about V$session,v$lock 几个新手小问题,请教一下~ 存储过程可以建表吗? 这个(HR)节点就是什么?是Schema(方案)? 请问,高手。 在Oracle 中有 location 吗,来者有分 怎么在Oracle 中获取某个应用执行的sql语句 oracle9i恢复,急,在线等 ORA-06553错误什么意思?
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字符集的数据库就可以了。(注意,十进制数与十六进制之间的转换,想明白其中的道理)SQL> select nls_charset_id('zhs16cgb231280') from dual;NLS_CHARSET_ID('ZHS16CGB231280')
--------------------------------
850字符集 代码(十进制) 对应的dmp文件(2、3字节/二进制)
ZHS16CGB231280 850 03 52
ZHS16GBK 852 03 54所以你改改字符集式一式,用uedit32!