Как загрузить плоский файл без использования загрузчика SQL* и внешней таблицы в базе данных oracle? - PullRequest
0 голосов
/ 16 июня 2020

Может ли кто-нибудь сообщить мне, как загрузить плоский файл без использования загрузчика SQL* или внешней таблицы в базе данных oracle? Например, есть ли в oracle какая-либо функция для выполнения этой задачи?

Пожалуйста, дайте мне знать о различных способах загрузки плоских файлов, кроме SQL* загрузчика и внешней таблицы.

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Oracle SQL не имеет других встроенных модулей, кроме внешних таблиц, для загрузки CSV.

Новая утилита (-i sh) sqlcl (замена SQL* Plus) имеет команду load для файлов CSV. Узнать больше . Этого достаточно для c специальной загрузки плоских файлов разумного размера. Для перформативной загрузки больших объемов данных со стороны клиента - или для большего контроля - SQL* Loader остается лучшим инструментом. Внешние столы - лучший вариант для автоматизированных загрузок.

0 голосов
/ 16 июня 2020

Вы можете написать программу PL / SQL, которая будет использовать UTL_FILE, читать содержимое этого файла и вставлять строки в некоторую таблицу. Вам нужно будет поговорить с администратором баз данных, чтобы создать каталог, предоставить права чтения / записи для него вам (то есть пользователю, который будет загружать данные), возможно, разрешить выполнение на UTL_FILE (снова для you ).


Другой вариант - если в этой базе данных установлен Apex (Oracle Application Express) - это создание набора данных загрузки страниц (не волнуйтесь, ничего делать не надо, Мастер все создаст за вас). Я не знаю, что находится в фоновом режиме - возможно, это SQL* Loader, не могу сказать, но - вы бы не использовали его «явно», а делали бы все в GUI.

...