#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. Если нет, скачайте и установите его, это потрясающе.
- Извлеките ZIP-файл из URL-адреса с
apex_web_service
помощью . - Распакуйте zip-файл в большой двоичный объект с
apex_zip
помощью . - Преобразуйте большой двоичный объект в СГУСТОК с
dbms_lob.converttoclob
помощью . Убедитесь, что вы выбрали соответствующие наборы символов. - Преобразуйте 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/