2025年Sqlldr多字节字符错误(sqlldr 多字节字符错误)

Sqlldr多字节字符错误(sqlldr 多字节字符错误)带有 CHAR 数据类型的列仅接受单字节 UTF 8 字符 字节值最大为 127 即十六进制的 7F 它也是 ASCII 字符集 VARCHAR 列接受多字节 UTF 8 字符 最多四个字节 有关更多信息 请参阅 字符类型 如果加载数据中的某一行包含对列数据类型无效的字符 则 COPY 将返回一个错误并在 STL LOAD ERRORS 系统日志表中记录一行 错误编号为 1220 ERR REASON 字段包含无效字符的十六进制字节序列



带有 CHAR 数据类型的列仅接受单字节 UTF-8 字符(字节值最大为 127,即十六进制的 7F),它也是 ASCII 字符集。VARCHAR 列接受多字节 UTF-8 字符,最多四个字节。有关更多信息,请参阅 字符类型。

如果加载数据中的某一行包含对列数据类型无效的字符,则 COPY 将返回一个错误并在 STL_LOAD_ERRORS 系统日志表中记录一行,错误编号为 1220。ERR_REASON 字段包含无效字符的十六进制字节序列。

修复加载数据中的无效字符的替代方法是在加载过程中替换无效字符。要替换无效的 UTF-8 字符,请在 COPY 命令中指定 ACCEPTINVCHARS 选项。如果设置了 ACCEPTINVCHARS 选项,那么指定的字符将替换代码点。如果未设置 ACCEPTINVCHARS 选项,Amazon Redshift 会接受这些字符作为有效的 UTF-8。有关更多信息,请参阅 ACCEPTINVCHARS。

以下代码点列表是有效的 UTF-8,如果未设置 ACCEPTINVCHARS 选项,COPY 操作不会返回错误。但是,这些代码点是无效字符。您可以使用 ACCEPTINVCHARS 选项用指定的字符替换代码点。这些代码点的值范围为 到 ,最高值为 ,以 或 结尾:

以下示例显示了 COPY 尝试将 UTF-8 字符 加载到 CHAR 列中时的错误原因。

如果错误与 VARCHAR 数据类型相关,则错误原因将包含错误代码和无效的 UTF-8 十六进制序列。以下示例显示了 COPY 尝试将 UTF-8 加载到 VARCHAR 字段中时的错误原因。

下表列出了 VARCHAR 加载错误的描述和建议解决方法。如果出现了以下错误之一,请将该字符替换为有效的 UTF-8 代码序列或删除该字符。

编程小号
上一篇 2025-02-09 18:33
下一篇 2025-03-16 10:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/5639.html