我使用exp
命令从具有AR8MSWIN1256
字符集的完整Oracle 11gR2数据库导出数据。但是,当我将数据导入11gR2 XE数据库时,我收到错误:
row rejected due to ORACLE error 12899
问题可能是字符集不匹配(AL32UTF8
vs AR8MSWIN1256
)?如果有,是否有解决方案?
答案 0 :(得分:0)
该表几乎肯定具有字符列的长度语义BYTE。 imp创建的表具有与源数据库中相同的长度语义。因此,如果要迁移到多字节字符集,则需要确保将这些列的长度语义更改为字符。
最简单的方法是预先创建表,并确保列定义不以字节为单位指定长度,而是以字符为单位。