ЗАГРУЗИТЬ ДАННЫЕ INFILE эквивалент в Oracle - PullRequest
6 голосов
/ 21 января 2012

Я просто был в замешательстве, если в Oracle есть эквивалент состояния SQLB LOAD DATA INFILE?Мне это нужно, потому что я хочу читать из огромного текстового файла в таблицу базы данных.

Ответы [ 2 ]

5 голосов
/ 21 января 2012

Oracle предоставляет утилиту командной строки SQLLoader . Но это зависит от правильного форматирования файла данных.

Вы можете попытаться взглянуть на Внешние таблицы Oracle (например, вы можете связать файл csv как внешнюю таблицу и просмотреть его как таблицу в Oracle).

Оба решения имеют свои плюсы и минусы, но большие минусы в том, что они по-прежнему полагаются на формат ввода данных (поэтому, если у вас есть файл, готовый для mysql, вам, возможно, придется немного его настроить).

0 голосов
/ 23 сентября 2016

Пример для Windows 10 и Oracle 12c

Если у вас есть текстовый файл с записями каждой таблицы, разделенными запятой, вы можете сделать это:

Создатьуправляющий файл для каждой таблицы, называемый table_name.ctl (C: \ Users \ пользователь \ Desktop \ directory \ table_name.ctl)

load data 
infile 'C:\Users\user\Desktop\directory\table_name.txt' 
append
into table table_name
fields terminated by ","
(id, field2,field3)

После, в окнах вы должны открыть Cmd и загрузить данные в каждую таблицу,и затем загрузить данные удаленно, например, на сервер aws.

sqlldr userid=USER@AWS_PDB1/password
control='C:\Users\user\Desktop\directory\table_name.ctl' log='C:\Users\user\Desktop\directory\table_name.log' direct=true

или

sqlldr control='C:\Users\user\Desktop\directory\table_name.ctl' log='C:\Users\user\Desktop\directory\table_name.log' direct=true
and then ask them the user and password

Если у вас возникла следующая ошибка: «Программа не может запуститься, потому что oranfsodm12.dll отсутствует на вашем компьютере.Попробуйте переустановить программу, чтобы решить эту проблему ».

это потому, что SQL * Loader отключен и не может использоваться в окнах консоли, это решается с помощью следующих шагов (как http://www.dallasmarks.com/installing-two-oracle-12c-clients-on-one-server/):

  1. Необходимо перейти в папку C: \ oracle \ client \ user \ product \ 12.1.0 \ client_1 \ BIN

  2. Сделать копиюФайл oraodm12.dll, вызывая новый файл oranfsodm12.dll, и вставьте его в ту же папку BIN.

  3. Запустите команду еще раз из cmd.

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