2010-08-14 22 views
6

Ben bir dosyadan veri yüklemek için çalışıyorum ve CREATED_DATE ve UPDATED_DATE sysdate için ayarlamak istediğiniz ve CREATE_BY ve updated_by ile: buradaSQL Loader script yardım, KULLANICI

CREATE TABLE CATALOG 
(CNO NUMBER, 
CTITLE VARCHAR2(25), 
CREATED_BY VARCHAR2(10) NOT NULL, 
CREATED_DATE DATE NOT NULL, 
UPDATED_BY VARCHAR2(10) NOT NULL, 
UPDATED_DATE DATE NOT NULL, 
CONSTRAINT CATALOG_PK Primary Key (CNO)); 

ve veri dosyasıdır:

1,"Title 1" 
2,"Title 2" 
3,"Title 3" 
4,"Title 4" 
5,"Title 5" 
6,"Title 6" 

ve benim kontrol dosyası:

LOAD DATA 
INFILE "mydata.csv" 
INTO TABLE CATALOG 
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'  
(CNO,CTITLE,CREATED_BY "USER", CREATED_DATE "SYSDATE", UPDATED_BY "USER", UPDATED_DATE "SYSDATE") 

Ben tüm kayıtlar reddedilir ... SQL Loader ile yüklemeye çalıştığınızda: Yanlış yapıyorum

Record 1: Rejected - Error on table CATALOG, column CREATED_BY. 
Column not found before end of logical record (use TRAILING NULLCOLS) 
Record 2: Rejected - Error on table CATALOG, column CREATED_BY. 
Column not found before end of logical record (use TRAILING NULLCOLS) 
....... 

Herhangi bir fikir? Şimdiden teşekkürler.

cevap

8

Sadece Oracle ne derse onu: Kontrol dosyasına TRAILING NULLCOLS ekleyin: sadece ilk iki sütun girdi dosyasında çünkü

LOAD DATA 
INFILE "mydata.csv" 
INTO TABLE CATALOG 
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS 
(CNO,CTITLE,CREATED_BY "USER", CREATED_DATE "SYSDATE", UPDATED_BY "USER", UPDATED_DATE "SYSDATE") 

bu gereklidir. Kalanlar tamamen hesaplanmıştır.

Bunu belirtmezseniz, Oracle üçüncü, dördüncü bir sütun okumayı dener, ancak bulamaz. Kontrol dosyasında

+0

Teşekkür deneyin! – relyt

-1

çok bu

(CNO,CTITLE,CREATED_BY "USER", CREATED_DATE SYSDATE, UPDATED_BY "USER", UPDATED_DATE SYSDATE)