Подтвердить что ты не робот

Oracle: импортировать CSV файл

Я искал какое-то время, но не могу найти ответы, поэтому здесь...

У меня есть файл CSV, который я хочу импортировать в таблицу в Oracle (9i/10i).

Позже я планирую использовать эту таблицу в качестве поиска другого использования.

Это на самом деле обходной путь, с которым я работаю, поскольку вопрос, связанный с использованием предложения IN с более чем 1000 значениями, невозможен.

Как это делается с помощью SQLPLUS?

Спасибо за ваше время!:)

4b9b3361

Ответ 1

SQL Loader помогает загружать файлы csv в таблицы: SQL*Loader

Если вы хотите только sqlplus, это становится немного сложнее. Вам нужно найти ваш sqlloader script и файл csv, затем запустите команду sqlldr.

Ответ 2

Другим решением, которое вы можете использовать, является SQL Developer.

С его помощью вы можете импортировать из файла csv (доступны другие файлы с разделителями).

Просто откройте представление таблицы, а затем:

  • выберите действия
  • импортировать данные
  • найдите свой файл
  • выберите свои параметры.

У вас есть возможность, чтобы SQL Developer выполнял вставки для вас, создавал sql-вставку script или создавал данные для загрузчика SQL script (не пробовал этот вариант сам).

Конечно, все, что является спорным, если вы можете использовать только в командной строке, но если вы можете проверить его с SQL Developer локально, то всегда можно развернуть сгенерированные сценарии вставки (например).

Просто добавив еще один вариант к 2 уже очень хорошим ответам.

Ответ 3

Альтернативное решение использует внешнюю таблицу: http://www.orafaq.com/node/848

Используйте это, когда вам нужно делать этот импорт очень часто и очень быстро.

Ответ 4

Загрузчик SQL - это путь. Недавно я загрузил таблицу из файла csv, нового для этой концепции, хотел бы поделиться примером.

LOAD DATA
    infile '/ipoapplication/utl_file/LBR_HE_Mar16.csv'
    REPLACE
    INTO TABLE LOAN_BALANCE_MASTER_INT
    fields terminated by ',' optionally enclosed by '"'
    (
    ACCOUNT_NO,
    CUSTOMER_NAME,
    LIMIT,
    REGION

    )

Поместите файл управления и csv в том же месте на сервере. Найдите sqlldr exe и вызовите его.

sqlldr userid/passwd @DBname control = Пример: sqlldr abc/xyz @ora control = load.ctl

Надеюсь, что это поможет.

Ответ 5

Кто-то попросил меня опубликовать ссылку на рамки! который я представил в Open World 2012. Это полное сообщение в блоге, которое демонстрирует, как архитектовать решение с помощью внешних таблиц.