ORACLE считывает файл с URL-адреса

#sql #oracle #csv #zip

Вопрос:

У меня есть URL-адрес для загрузки zip-файла, внутри которого есть csv-файл, который я хочу прочитать в инструкции select.

Пример У меня есть этот URL: http://www.xyxy.com/test.zip Сразу после запуска этого URL-адреса ваш браузер загружает zip-файл, внутри которого находится csv-файл с 5 столбцами: имя, фамилия, возраст, направление, телефон

Я хочу прочитать этот csv-файл под названием: directions_clients.csv с помощью инструкции select, просто отправив URL-адрес в качестве параметра.

что-то вроде этого:

 Select * from getcsv(getzip('url')) 
 

и отображать каждый столбец из csv-файла

есть идеи, как читать zip-файлы с URL-адреса, а также читать csv внутри них?

С уважением

Ответ №1:

Вы работаете в Oracle, поэтому я предполагаю, что у вас есть приложение Express. Если нет, скачайте и установите его, это потрясающе.

  1. Извлеките ZIP-файл из URL-адреса с apex_web_service помощью .
  2. Распакуйте zip-файл в большой двоичный объект с apex_zip помощью .
  3. Преобразуйте большой двоичный объект в СГУСТОК с dbms_lob.converttoclob помощью . Убедитесь, что вы выбрали соответствующие наборы символов.
  4. Преобразуйте CLOB в строки и столбцы данных с apex_data_parser помощью .

Ответ №2:

Вы можете использовать специальный объект httpuritype: https://docs.oracle.com/database/121/ARPLS/t_dburi.htm

Забавный пример: http://orasql.org/2021/04/25/vblog-funny-friday/