понедельник, 26 июня 2017 г.

Как загрузить данные из файла в табличку Oracle

Допустим, входной файлик выглядит так — test.csv:

HID_PARTY;HID_EXTERNAL
11;22
15;39
...

Как загрузить эти данные в Oracle?

1. Через WBImport в Workhbench


Workhbench удобен тем, что ты один раз подготовил скрипт и все, потом можешь одним кликом догружать все новые и новые тестовые данные. Скрипт для нашего простенького файлика будет такой:

WbImport -file=test.csv
         -type=text
         -table=TMP$HID
         -encoding="UTF-8"
         -mode=insert
         -header=true
         -decode=false
         -delimiter=';'
         -fileColumns=hid_party, hid_external
         -quoteCharEscaping=none
;

Если бы в файле были колонки с датами, добавились бы еще параметры:

         -dateFormat=yyyy-MM-dd
         -timestampFormat=yyyy-MM-dd HH:mm:ss

Когда создаем новый скрипт, то все, что меняет — это

  • файл, откуда грузить;
  • таблицу, куда грузить;
  • ее колонки (простое перечисление).

2. Import Data в SQL Developer

Забавно, что когда я гуглила способы запихивания файлика в оракл, то этого способа я там не нашла. Только через SQL запрос, который забирает файл с сервера БД, куда у меня доступа нет...

Все может быть проще! В sql developer правой кнопкой по меню «Таблицы» → Import Data


Format — delimited (чтобы список выбора разделителей стал доступным).
Выбираем кодировку и разделитель. 


На следующем этапе указываем название таблицы, которую оракл создаст


Потом колонки, которые будем импортить → видимо, можно исключить какие-то из списка.


А потом указываем типы колонок, которые будут созданы и их размер


В этом плане импорт довольно тупой — не осилит сам взять по максимальной длине строки в колонке, так что не забудьте указать значение.

Ну вот и все, жмем «Далее» и ждем, когда оракл засосет нашу табличку Smile :)

Разумеется, это не все способы, но, пожалуй, два основных — для меня. Точнее, один основной, через WBImport, а теперь еще и sql developer узнала =)

Комментариев нет:

Отправить комментарий