У меня возникла непонятная проблема с sqlldr, которая меня беспокоит. Мой контрольный файл выглядит примерно так:
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"
)
Данные выглядят примерно так:
a,b,c,
a,b,,d
a,b,,
a,b,c,d
Если я не вставляю TRAILING NULLCOLS, я получаю ошибку «столбец не найден до конца логической записи». Но хотя некоторые из столбцов имеют значение NULL, все запятые присутствуют, поэтому я не вижу причин, по которым sqlldr неправильно интерпретирует входной файл и не доходит до конца, где он генерирует идентификатор из последовательности базы данных.
Этот синтаксис раньше работал без пустых столбцов - почему из-за пустого столбца sqlldr не достигает сгенерированного столбца?
У меня все работает, я просто хочу понять, ПОЧЕМУ!?!