Oracle:导入数据时可能出现编码问题

时间:2014-04-04 18:53:05

标签: oracle

在Oracle 11上,我使用exp / imp转储我的数据,以便迁移到另一个数据库。

我测试了在我的本地数据库上导入转储文件,没有任何问题。

但后来我的同事在他自己的机器上尝试了同样的操作,由于错误,某些表无法导入:

can bind a LONG value only for insert into a LONG column.

我没有任何长类型,但我读到当varchar2类型的大小超过时也会抛出此错误,所以我检查了数据库的字符集,我有默认的Windows字符集,他有utf8字符集。那么你认为可能用更多字节表示相同长度的数据,这会导致这种错误吗?

我是否必须更改数据库字符集并创建另一个转储?我寻找更好的解决方案,因为这也需要导入到客户数据库,我知道这有一个完全不同的字符集..

1 个答案:

答案 0 :(得分:1)

根据定义,任何窗口继承的字符集都不是多字节的。创建多字节(utf8)db时,每个单个字符在导入期间可能会转换为1-3个字节。因此,在将每个字符串类型列导入x3次之前,必须自动增加。如果您将限制4096使用Clob类型。

相关问题