سؤال

أنا أحاول تحميل البيانات من ملف وأريد أن مجموعة CREATED_DATE و UPDATED_DATE إلى SYSDATE و CREATE_BY و UPDATED_BY المستخدم

هنا الجدول أن أعمل مع:

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));

و ها هو ملف البيانات:

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

و التحكم في الملف:

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")

عندما أحاول تحميله مع SQL Loader...جميع السجلات يتم رفض:

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)
.......

أي أفكار ما أفعله خطأ ؟ شكرا مقدما.

هل كانت مفيدة؟

المحلول

فقط افعل ما أوراكل يقول:إضافة TRAILING NULLCOLS إلى التحكم في الملف:

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")

هذا هو المطلوب فقط لأن الأولين الأعمدة في ملف الإدخال.على remaing تلك هي محض حسابها.

إذا كنت لا تحديد في ذلك ، أوراكل يحاول قراءة والثالث والرابع الخ.عمود, ولكن لا يمكن العثور على واحد.

نصائح أخرى

في السيطرة على الملف جرب هذا

(CNO,CTITLE,CREATED_BY "USER", CREATED_DATE SYSDATE, UPDATED_BY "USER", UPDATED_DATE SYSDATE)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top