简体   繁体   English

Oracle 11g r2 XE中的字符集

[英]Character set in Oracle 11g r2 XE

I have an exported data using exp command from a full Oracle 11gR2 database that has the AR8MSWIN1256 charset. 我使用exp命令从具有AR8MSWIN1256字符集的完整Oracle 11gR2数据库中导出了数据。 However, when I import the data into an 11gR2 XE database, I get the error: 但是,当我将数据导入11gR2 XE数据库时,出现错误:

row rejected due to ORACLE error 12899

Could the problem be the mismatch in charsets ( AL32UTF8 vs AR8MSWIN1256 )? 问题可能出在字符集( AL32UTF8AR8MSWIN1256 )不匹配吗? If so, is there a solution? 如果是这样,是否有解决方案?

the table almost certainly has length semantics BYTE for the character columns. 该表几乎可以肯定对于字符列具有长度语义BYTE。 imp creates the table with the same length semantics as they were in the source database. imp使用与源数据库中相同的长度语义创建表。 So if you want to migrate to a multibyte character set you need to make sure that the length semantics of those columns are changed to character. 因此,如果要迁移到多字节字符集,则需要确保将这些列的长度语义更改为character。

Easiest is to pre-create the tables and make sure that your column definitions don't specify their length in bytes but in characters. 最简单的方法是预先创建表,并确保您的列定义不以字节为单位指定长度,而是以字符为单位。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM