在学习SQL Loader导入数据的时候,试用SCOTT用户下的EMP表,使用Navicat导出txt 模式作为测试导入数据文件
失败的控制文件
LOAD DATA
INFILE EMP.txt
REPLACE INTO TABLE EMP
FIELDS TERMINATED BY ","
(
EMPNO,
ENAME,
JOB,
MGR,
HIREDATE,
SAL,
COMM,
DEPTNO
)
执行导入命令:
F:\oracle\script\sqlloader>SQLLDR SCOTT/TIGER CONTROL=EMP.CTL
查看日志文件如下:
记录 1: 被拒绝 - 表 EMP 的列 HIREDATE 出现错误。
ORA-01830: 日期格式图片在转换整个输入字符串之前结束
baidu结果为:
错误代码解决方法:http://www.blogjava.net/397879213/archive/2010/12/29/341925.html
SQL Loader 参数详解:http://www.blogjava.net/cheneyfree/archive/2008/05/08/199161.html
修改后的控制文件:
LOAD DATA
INFILE EMP.txt
REPLACE INTO TABLE EMP
FIELDS TERMINATED BY ","
(
EMPNO,
ENAME,
JOB,
MGR,
HIREDATE "to_date(:HIREDATE,'yyyy-mm-dd hh24:mi:ss')",
SAL,
COMM,
DEPTNO
)
再次执行导入,成功。问题解决。

本文讨论了在使用SQLLoader导入数据时遇到的日期格式错误问题,并提供了详细的解决方案,包括修改控制文件以正确处理日期格式,以及通过执行特定的导入命令成功导入数据的步骤。

被折叠的 条评论
为什么被折叠?



