在学习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 )
再次执行导入,成功。问题解决。