如何避免
"characterset conversion buffer overflow" error in sql*loader? error # 00626.
我无法在互联网上找到这个,请为我提出解决方案。
答案 0 :(得分:1)
输入数据文件的字符集是什么?您可以尝试在控制文件中指定字符集:
CHARACTERSET char_set_name LENGTH SEMANTICS CHARACTER
默认情况下,如果未指定,Oracle将使用字节长度语义。因此,如果在控制文件中将字段长度定义为VARCHAR(20),则在字节语义中,您将拥有20字节缓冲区,但在字符长度语义中,您可能具有40字节缓冲区。这将是我猜测可能是错误的来源。
答案 1 :(得分:0)
这不是很多帮助,但这是Oracle错误手册对该错误所说的内容:
SQL * Loader-00626:字符集 转换缓冲区溢出。
原因:从数据文件字符集到客户端的转换 字符集需要更多的空间 分配给转换的 缓冲。转换的大小 缓冲区受最大大小的限制 一个varchar2列。
操作:拒绝输入记录。数据不适合 专栏。
听起来似乎没有办法在SQLLoader中解决这个问题。如果它影响少量记录,那么手动简单地处理这些记录可能是最容易的。如果有很多记录,那么您可能需要查找或创建不同的加载工具。
答案 2 :(得分:0)
您可以考虑一些想法:
不确定这些想法是否有任何优点,但希望你能解决这些问题。
答案 3 :(得分:0)
感谢您的帮助。这个问题已被解决。我们拆分文件并加载块并且工作正常