Пропуск заголовка при чтении файла CSV через внешнюю таблицу Oracle - PullRequest
0 голосов
/ 09 ноября 2019

Используя внешнюю таблицу, мы читаем CSV-файл, который содержит заголовок. Я использую SKIP 1 в качестве команды, чтобы пропустить заголовок. Когда у нас есть один файл, он работает нормально и может подать файл, используя внешнюю таблицу.

Но появляется ошибка «ORA-30653: предел отклонения достигнут» при чтении нескольких файлов. потому что пропуск 1 пропускает только первый заголовок файла, а не другие файлы.

Как пропустить заголовок всех файлов при чтении нескольких файлов

1 Ответ

0 голосов
/ 09 ноября 2019

«ORA-30653: достигнут предел отклонения» при чтении нескольких файлов

Вы можете указать количество строк, которые могут быть отклонены перед выдачей ошибки, или вы можете указать UNLIMITED. Я предполагаю, что вы указали число, но ваш CSV-файл содержит строки, которые база данных не может проанализировать соответствующим образом на основе вашего определения.

Если вы хотите игнорировать все искаженные строки, вы можете просто изменить ограничение на UNLIMITED:

alter table users_load reject limit unlimited;

пример создания таблицы:

CREATE TABLE foo_load (
    employee_number CHAR(5)
) ORGANIZATION EXTERNAL (
    TYPE ORACLE_LOADER
    DEFAULT DIRECTORY ext_tab_dir
    ACCESS PARAMETERS (
        ...
    )
    LOCATION ('foo.txt')
)
REJECT LIMIT UNLIMITED; --Use limit, not limited

Полный исчерпывающий пример того, как создать внешнюю таблицу, можно прочитать Здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...