Как открыть, прочитать и сохранить в БД содержимое файла XLSX с помощью PLSQL? - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь открыть, проанализировать и сохранить в базе данных содержимое из файла .xlsx, используя PLSQL. Это возможно ? У меня есть файлы на сервере, я создал объект для этого пути и дал права rw для моего пользователя. Должен ли я конвертировать из XLSX в CSV, используя PLSQL? Возможно ли это или есть другой способ работы с файлами XLSX?

То, что я пробовал до сих пор, было это , но я получаю исключение

ORA-22288: сбой файла или операции LOB FILEOPEN

Пытался дать права на мой объект, но он все еще не работает.

1 Ответ

0 голосов
/ 04 сентября 2018

Предполагая, что вы хотите загрузить только несколько электронных таблиц вручную (в отличие от необходимости регулярных или массовых автоматических загрузок), тогда самый простой способ вставить строки из файла Excel в базу данных - это добавить столбец в таблицу, которая генерирует как оператор вставки SQL.

Например:

Если в листе Excel есть данные в столбцах A, B и C и строка заголовка:

ROWS A        B       C
1    id       value1  value2
2    1          23.0  Smith
3    2          42.7  O'Brien
4    3          59.6  Jones

Затем в клетку D2 положить:

="INSERT INTO table_name ("&A$1&","&B$1&","&C$1&") VALUES ("&A2&","&B2&",'"&SUBSTITUTE(C2,"'","''")&"');"

Затем скопируйте и вставьте формулу в D3-D4, чтобы таблица выглядела следующим образом:

ROWS A      B       c        D
1    id     value1  value2  
2    1        23.0  Smith    INSERT INTO table_name (id,value1,value2) VALUES (1,23,'Smith');
3    2        42.7  O'Brien  INSERT INTO table_name (id,value1,value2) VALUES (2,42.7,'O''Brien');
4    3        59.6  Jones    INSERT INTO table_name (id,value1,value2) VALUES (3,59.6,'Jones');

Наконец, скопируйте сгенерированные операторы SQL и запустите их в SQL Plus.

...