В документации SQL-LDR указано, что вам нужно выполнить условную загрузку пути:
When you want to apply SQL functions to data fields. SQL functions are not available during a direct path load
У меня есть данные TimeStamp, хранящиеся в файле CSV, который я загружаю с помощью SQL-LDR, описывая поля как таковые:
STARTTIME "To_TimeStamp(:STARTTIME,'YYYY-MM-DD HH24:MI:SS.FF6')",
COMPLETIONTIME "To_TimeStamp(:COMPLETIONTIME,'YYYY-MM-DD HH24:MI:SS.FF6')"
Итак, мой вопрос: можете ли вы загрузить данные временной метки без функции, или это тот случай, когда вы не можете выполнить прямую загрузку пути при загрузке данных TimeStamp?





Из ветки форума это OTN:
you just need to set the environment variable NLS_TIMESTAMP_FORMAT to tell SQL*Loader what format to expect the timestamp to be in:
set NLS_TIMESTAMP_FORMAT=YYYY-MM-DD HH24:MI:SS.FF
..and remove the reference to the to_timestamp function completely from the controlfile.
В качестве примечания, большинство из нас прекратили использование «загрузчика sql» для более продвинутой версии «Внешние таблицы», предполагая, что вы используете более новую версию Oracle.
Попробовал это и получил следующую ошибку: ORA-26041: Ошибка преобразования типа данных DATETIME / INTERVAL. Должно ли это работать в системах * nix в дополнение к Windows?