You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Oracle sqlldr加载Excel导出的无尾逗号CSV文件解决ORA-01722报错

ORA-01722报错原因

你遇到的报错是因为SQLLoader默认未显式指定行终止符时,会将CSV行尾的换行符识别为最后一列值的一部分。如果目标表最后一列是数字类型,携带不可见换行符的字符串无法转换为数字,就会抛出ORA-01722无效数字错误。
你手动添加行尾逗号后,SQL
Loader会将第三列的截止位置识别到行尾逗号处,换行符被视为分隔符后的无效内容自动忽略,因此可以正常加载。

无需添加行尾逗号的配置方案

直接修改控制文件,显式指定行终止符即可,无需修改CSV源文件:

控制文件修改示例

load data
infile '你的数据文件路径.csv'
into table 目标表名称
fields terminated by ','
lines terminated by '\n' -- 新增该行指定换行符为行结束标识
(
  列1,
  列2,
  列3
)

适配说明

  • 如果CSV是Windows系统生成的,换行符为CRLF格式,将上述行终止符参数修改为'\r\n'即可
  • 如果最后一列值可能存在前后冗余空格,可以给最后一列增加trim处理,写法示例:列3 "trim(:列3)"
  • 如果存在部分行字段数少于表字段数的场景,可以在fields子句后追加trailing nullcols配置,缺失的字段会自动填充为null,不会报错

内容的提问来源于stack exchange,提问作者xiaoyunwu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 13:39:01