Учитывая URL-адрес, указывающий на файл, размещенный на веб-сервере, можно ли прочитать содержимое этого URL-адреса в клобе? И если да, то как?Загрузка файла в clob
5
A
ответ
6
Вот процедура, которая берет URL-адрес и загружает его содержимое в таблицу.
Веб-файл извлекается с использованием UTL_HTTP.GET_PIECES()
. Это возвращает массив строк. Если вы работаете за брандмауэром, вам нужно будет объявить ваш прокси. Find out more about UTL_HTTP.
Прерывание CLOB использует различные биты функциональности DBMS_LOB. Процедура объявляет временную переменную lob, добавляет к ней части массива UTL_HTTP и затем, наконец, вставляет ее в таблицу. Find out more about DBMS_LOB.
SQL> create or replace procedure pop_file_from_url
2 (p_url in varchar2)
3 is
4 tc clob;
5 lv_web_page utl_http.html_pieces;
6 begin
7
8 dbms_lob.createtemporary(tc, true);
9 dbms_lob.open(tc, dbms_lob.lob_readwrite);
10
11 lv_web_page := utl_http.request_pieces (p_url);
12
13 for i in 1..lv_web_page.count()
14 loop
15 dbms_lob.writeappend(tc, length(lv_web_page(i)) ,lv_web_page(i));
16 end loop;
17
18 insert into t23 values (1, tc);
19
20 dbms_lob.close(tc);
21 dbms_lob.freetemporary(tc);
22
23 end pop_file_from_url;
24/
Procedure created.
SQL>
Если, как я, вы на 11g вам нужно будет добавить URL в список контроля доступа, в противном случае запрос будет заблокирован. Find out more about ACLs.
SQL> exec pop_file_from_url('stackoverflow.com')
BEGIN pop_file_from_url('stackoverflow.com'); END;
*
ERROR at line 1:
ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1674
ORA-24247: network access denied by access control list (ACL)
ORA-06512: at "APC.POP_FILE_FROM_URL", line 11
ORA-06512: at line 1
SQL>
После добавления URL для StackOverflow в мой ACL теперь я могу вставить файл в моей таблице:
SQL> exec pop_file_from_url('stackoverflow.com')
PL/SQL procedure successfully completed.
SQL> select id, dbms_lob.getlength(txt)
2 from t23
3/
ID DBMS_LOB.GETLENGTH(TXT)
---------- -----------------------
1 208226
SQL>
Смежные вопросы
- 1. Grails/GORM ленивая загрузка поля CLOB
- 2. Oracle SQL Извлечение CSV из CLOB и загрузка в таблицу
- 3. Вставить содержимое текстового файла в Oracle CLOB
- 4. создание файла и загрузка его в iframe
- 5. Загрузка листа excel в Java с использованием blob или clob
- 6. Загрузка данных в таблицу, содержащую тип данных clob, из плоского файла
- 7. Blueimp Загрузка файла: загрузка одного файла
- 8. Копирование данных из текстового файла в CLOB в PL/SQL
- 9. Загрузка файла в PHP
- 10. Загрузка файла в Delphi
- 11. Загрузка файла в Symfony
- 12. Загрузка файла в cakephp
- 13. Загрузка файла в struts
- 14. Загрузка файла в MVC
- 15. Загрузка файла в Java
- 16. Загрузка файла в Python
- 17. Загрузка файла в Symfony2.3
- 18. Загрузка файла в Sakai
- 19. Загрузка файла в JSP
- 20. Загрузка файла в PPAPI
- 21. Загрузка файла в папку
- 22. Загрузка файла в Resteasy
- 23. Загрузка файла в asp.net?
- 24. Загрузка файла в ionic
- 25. Загрузка файла в yii?
- 26. Загрузка файла в PHP
- 27. Загрузка файла в Elm
- 28. Загрузка файла в каталог
- 29. Загрузка файла в web2py
- 30. Загрузка файла в iphone
Это было очень тщательно мой друг. Я очень ценю помощь. – JDS
Я еще не смог проверить код, но решение выглядит очень многообещающим. – migu