【发布时间】:2014-04-25 11:03:46
【问题描述】:
我正在测试一个最近转换为 UTF-8 的数据库。如果我使用长随机 UTF-8 字符插入 varchar2 字段(4000 个字符),我会得到: [ORA-01704: 使用长 UTF-8 字符集的字符串文字太长]
如果我将字符串减少到大约 3600 个字符,它就可以工作。是什么赋予了?有没有办法插入我的 4000 个字符?
请注意,字符串中有一些非常奇怪的字符。
谢谢。
【问题讨论】:
-
A
varchar列永远不能超过 4000 字节,无论您是使用char语义还是byte语义声明它.这在 12c 中发生了变化,您可以将数据库配置为允许 32K。 -
您的数据库中是否有任何实际为 4,000 字节的字符串?如果不是,那么此刻没关系,不是吗?您的测试失败了,您现在知道原因了,但无论如何您都不需要它。
-
很多很多 4000 个字符的字段。