Загрузка текстового файла в Oracle из системы Unix - PullRequest
0 голосов
/ 07 марта 2012

У меня есть поле для ввода текстового файла следующим образом.

"64252368","7489040","305762",
"64285217","12132108","787341",

Я использую контрольный файл ниже.

OPTIONS (SKIP=1)
LOAD DATA
TRUNCATE INTO TABLE test_table
FIELDS TERMINATED BY '",'

(
        LEARNEVENT_ID,
        ORGANIZATION,
        COURSE_ID
)

Но я получаю ошибку:

Record 1: Rejected - Error on table test_table, column LEARNEVENT_ID
ORA-01722: invalid number

Пожалуйста, помогите мне в этом.

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Вам нужно изменить свой файл CTL, чтобы включить параметр OPTIONALLY ENCLOSED BY.

OPTIONS (SKIP=1)
LOAD DATA
TRUNCATE INTO TABLE test_table
FIELDS TERMINATED BY ','
 OPTIONALLY ENCLOSED BY '"'
(
        LEARNEVENT_ID,
        ORGANIZATION,
        COURSE_ID
)

Я бы рекомендовал чтение до SQL * Loader .

0 голосов
/ 07 марта 2012

Проблема заключается в инкапсуляции чисел с кавычками "", а ваши поля заканчиваются на "," просто не удаляет кавычки.

Попробуйте это

OPTIONS(SKIP=1)
LOAD DATA
TRUNCATE INTO TABLE test_table
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(
  LEARNEVENT_ID "replace ( :LEARNEVENT_ID ,'"', '')",
  ORGINAZATION "replace ( :ORGINAZATION ,'"', '')",
  COURSE_ID "replace ( :COURSE_ID ,'"', '')"
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...