Импорт данных из CSV в таблицу в Oracle с помощью NodeJS

#javascript #sql #node.js #oracle #csv

#javascript #sql #node.js #Oracle #csv

Вопрос:

У меня есть сомнения. Я хотел бы знать, возможно ли вставить данные (100 Тыс. данных), которые у меня есть в файле CSV, непосредственно в таблицу в Oracle, используя NodeJS. Я искал несколько способов, но я не нашел решения, только использование внешних таблиц, но проблема в том, что я должен сохранить файл CSV в определенном каталоге.

Ответ №1:

Извините, я не знаю NodeJS.

Но, со стороны Oracle, вы могли бы использовать внешнюю таблицу (как вы уже упоминали). Если этот «конкретный каталог» находится на сервере базы данных, отлично! поскольку вам нужно будет создать каталог (объект Oracle), который указывает на этот каталог файловой системы (и предоставить права на чтение и, возможно, запись пользователю, который будет использовать этот каталог).

Если он не находится на сервере, вы все равно сможете сделать это с помощью UNC (universal naming convention).

Другим вариантом является SQL * Loader, инструмент командной строки, который можно использовать на вашем локальном компьютере (вам не обязательно иметь доступ к «каталогу» и «каталогу», который каким-либо образом связан с сервером базы данных). Конечно, у вас должен быть установлен SQL * Loader. Он поставляется с каждой базой данных Oracle; если он не установлен на этом компьютере, вам следует установить клиент Oracle.

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

1. Загрузчик SQL * также доступен в Oracle Instant Client 12.2 или более поздней версии, см. blogs.oracle.com/opal /…

Ответ №2:

Существуют различные Node.js модули для чтения CSV-файлов. Используйте один, а затем, когда у вас есть данные в Node.js , вы можете использовать node-oracledb executeMany() для вставки нескольких строк одновременно в базу данных, см. Документацию node-oracledb о выполнении пакетных инструкций и массовой загрузке.

Однако я бы, вероятно, выбрал более раннее решение и использовал SQL * Loader, см. https://blogs.oracle.com/opal/oracle-instant-client-122-now-has-sqlloader-and-data-pump