sql loader 导入数据,加上最后一列就无法正常导入

chemzh 2016-09-07 04:13:02
使用sqlldr导入数据的是时候,在控制文件中去掉deptno列就可以正常导入。

输入deptno列之后,所有的数据就都导入不进去,都跑到bad文件里面去了。

我查过了没有空格之类的字符,请大神帮忙解释一下,谢谢!


load data
infile '/home/oracle/abC.csv'
truncate
into table t
fields terminated by ','
trailing nullcols
(EMPNO, ENAME,JOB,MGR,HIREDATE date 'YYYY/MM/DD HH24:MI:SS',SAL,comm,deptno)

[oracle@oraclelinux2:/home/oracle]$cat ab.csv
EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO
7369,SMITH,CLERK,7902,1980/12/17 0:00,800,,20
7499,ALLEN,SALESMAN,7698,1981/2/20 0:00,1600,300,30
7521,WARD,SALESMAN,7698,1981/2/22 0:00,1250,500,30
7566,JONES,MANAGER,7839,1981/4/2 0:00,2975,,20
7654,MARTIN,SALESMAN,7698,1981/9/28 0:00,1250,1400,30
7698,BLAKE,MANAGER,7839,1981/5/1 0:00,2850,,30
7782,CLARK,MANAGER,7839,1981/6/9 0:00,2450,,10
7788,SCOTT,ANALYST,7566,1987/4/19 0:00,3000,,20
7839,KING,PRESIDENT,,1981/11/17 0:00,5000,,10
7844,TURNER,SALESMAN,7698,1981/9/8 0:00,1500,0,30
7876,ADAMS,CLERK,7788,1987/5/23 0:00,1100,,20
7900,JAMES,CLERK,7698,1981/12/3 0:00,950,,30
7902,FORD,ANALYST,7566,1981/12/3 0:00,3000,,20
7934,MILLER,CLERK,7782,1982/1/23 0:00,1300,,10



SQL> desc t;
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
...全文
1096 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianlang_2008 2016-09-13
  • 打赏
  • 举报
回复
把倒数第二列中的null值用0填充下试试
jdsnhan 2016-09-08
  • 打赏
  • 举报
回复
引用 2 楼 sbaz 的回复:
我估计文件是windows下的,有回车和换行。 你在linux下导入,回车和后面的数字连在一起导入了,因为连在一起不是数字,所以报错了。
+1 其他不可见的制表符和打印符也会影响结果
超叔csdn 2016-09-07
  • 打赏
  • 举报
回复
我估计文件是windows下的,有回车和换行。 你在linux下导入,回车和后面的数字连在一起导入了,因为连在一起不是数字,所以报错了。
ghx287524027 2016-09-07
  • 打赏
  • 举报
回复
数据中怎么还有两个 ’,‘ 的,比如:0,800,,20

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧