Я столкнулся с некоторыми проблемами при загрузке файла CSV через загрузчик SQL.
Вот контрольный файл:
LOAD DATA
INFILE 'mp.csv'
BADFILE mp.bad'
INSERT
INTO TABLE mp_staging
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
mp_id INTEGER,
mp_name CHAR,
mp_desc CHAR,
oid CHAR,
ptye_cd CHAR,
creation_tmstmp TIMESTAMP WITH TIME ZONE "YYYY-MM-DD HH24:MI:SS,FF9",
modified_tmstmp TIMESTAMP WITH TIME ZONE "YYYY-MM-DD HH24:MI:SS,FF9",
last_generation_tmstmp TIMESTAMP WITH TIME ZONE "YYYY-MM-DD HH24:MI:SS,FF9",
deact_dt DATE,
)
Вот несколько примеров записей из файла CSV:
1083,"Test3","","mills_b","PRIVATE",2000-12-06 14:29:21.17,1999-12-06 14:29:21.17,2011- 10-01 04:03:44.6
116,"Mike1","","mills_b","PRIVATE",1999-09-15 11:15:29.42,1999-09-15 11:15:59.663,2011- 10-01 04:01:23.923,,0,"F",""
Я столкнулся с двумя проблемами -
Вторая запись вставляется, но с другим mp_id в таблице, так как значение, вставленное в таблицу, не 1083, а совсем другое число, которое, кажется, генерируется последовательностью, хотя я не упоминал ни одной последовательности в контрольный файл.
Первая запись не загружается с такой ошибкой:
Запись 1: отклонено - ошибка в таблице EQ_MP_STAGING, столбец CREATION_TMSTMP. ORA-01841: (полный) год должен быть от -4713 до +9999, а не 0
Может ли кто-нибудь помочь мне в правильном направлении, чтобы я мог отладить эти проблемы?