Tôi có một vấn đề sqlldr abstruse mà làm phiền tôi. tập tin kiểm soát của tôi trông giống như sau:Oracle sqlldr TRAILING NULLCOLS được yêu cầu, nhưng tại sao?
load data
infile 'txgen.dat'
into table TRANSACTION_NEW
fields terminated by "," optionally enclosed by '"'
TRAILING NULLCOLS
(A,
B,
C,
D,
ID "ID_SEQ.NEXTVAL"
)
dữ liệu là một cái gì đó như thế này:
a,b,c,
a,b,,d
a,b,,
a,b,c,d
Nếu tôi không đưa NULLCOLS Trailing trong, tôi nhận được "cột không tìm thấy trước khi kết thúc logic không ghi nhận kỷ lục. Nhưng mặc dù một số cột là null, dấu phẩy là tất cả ở đó, vì vậy tôi không thấy lý do sqlldr giải thích sai tệp đầu vào và không đến cuối nơi tạo ID từ chuỗi cơ sở dữ liệu.
Cú pháp này đã hoạt động trước khi không có cột trống - tại sao cột trống làm cho sqlldr không tiếp cận được cột được tạo?
Tôi đã làm việc đó, tôi chỉ muốn hiểu TẠI SAO!?!
Vì Larry đã nói vậy, đó là lý do. Đó là hành vi dự định. –
Nó là ok mà nó dự định, tôi chỉ muốn hiểu cơ chế của nó. – orbfish