使用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)
uj5u.com熱心網友回復:
資料中怎么還有兩個 ’,‘ 的,比如:0,800,,20uj5u.com熱心網友回復:
我估計檔案是windows下的,有回車和換行。你在linux下匯入,回車和后面的數字連在一起匯入了,因為連在一起不是數字,所以報錯了。
uj5u.com熱心網友回復:
+1
其他不可見的制表符和列印符也會影響結果
uj5u.com熱心網友回復:
把倒數第二列中的null值用0填充下試試轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/117699.html
標籤:開發
上一篇:ORACLE中的extract函式,mysql用什么可以替代呢?
下一篇:奇葩問題
