oracle imp 数据倒入不成功,怎么办?(100分)

  • 主题发起人 主题发起人 w9011
  • 开始时间 开始时间
W

w9011

Unregistered / Unconfirmed
GUEST, unregistred user!
从 oracle7.3 数据库exp aa.dmp
到oracle8 或oracle9 出现下列情况,该怎么办呢,有没有其它方法?
"IMP-00016: 不支持要求的字符集转换(从类型850到852)
IMP-00000: 未成功终止导入"
 
将DMP文件的第二个字节和第三个字节进行修改。保存的是16进制的字符集代码。
03 52和03 54,对应的是zhs16cgb231280和zhs16gbk。
这仅仅是第一步,就问题解决问题。估计在后面IMP时还会有其它错误!
 
我知道怎么解决了,谢谢楼上,你怎么知道的,我虽然不是按你这种方法,
但还是很敬佩
是 zhs16cgb231280和zhs16gbk 的原因,我将目标oracle
nls改成zhs16cgb231280就可以了,不过我记得oracle有关书说过
imp倒出时按目标oracle字符集倒出,即指定,我忘了语句怎么写
不知道你会不会
imp .....
 
原以为不能从us7ascii 改为ZHS16GBK。
实践证明US7ASCII 是ZHS16GBK的子集可以直接修改。

环境:win2000,ora815for nt( us7ascii)
sql> SHUTDOWN IMMEDIATE;
sql> STARTUP MOUNT;
sql> ALTER SYSTEM ENABLE RESTRICTED SESSION;
sql> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
sql> ALTER DATABASE OPEN;
sql> ALTER DATABASE CHARACTER SET ZHS16GBK;
sql> SHUTDOWN IMMEDIATE;
sql> STARTUP;(成功,都没出错)
sql>select bh,<中文字段> from table1;
1 , ???
2, ???(注意不是乱码,是?)
修改注册表nls_lang 为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
sql>sql>select bh,<中文字段> from table1;
1,   中文
2,  哈哈
成功!
 
w9011:
数据库我基本上都是在使用oracle,用的久了,碰到的问题也就多些。
象你所说的字符集的问题,我曾让人写了一个小模块,专门修改字符集。
当然了,硬性修改是没问题,但是导入时还得看是否有冲突!

由于有这种经验,所以象你所说的以指定字符集的方式导入导出的方法我就没尝试过。
刚刚有看一下,exp help=y和 imp help=y,好象都没有指定字符集的方式。
我用的最高版本到817,至于9中能否有你所说的方法就不清楚啦。
 
是一本清华出的书,oracle专家编程,很厚的,其中讲了几个倒入,到出的事例
很值得看看
 
后退
顶部