Tem
27
2017
27
2017
URL uzantısındaki Dosyanın FND_LOBS a kaydedilmesi
Merhaba,
Bu yazımda URL uzantısı üzerinde bulunan dosyanın fnd_lobs tablosuna kaydedilmesi üzerinedir.
Örnek bir URL tuik sitesi üzerinden yayınlanan tefe tüfe bilgilerinin linki
http://tuik.gov.tr/PreIstatistikTablo.DO?istab_id=650 |
gibidir. Link üzerinde http post işlemi ile .xls uzantılı bir dosya lokal makinaya indirilmektedir.
Aşağıdaki script ile bu dosya blob olarak okunarak fnd_lobs a nasıl kaydedildiği ile ilgili örnek bir scripttir.
DECLARE l_media_id PLS_INTEGER; l_http_request UTL_HTTP.req; l_http_response UTL_HTTP.resp; l_blob BLOB; l_raw RAW (32767); BEGIN DBMS_LOB.createtemporary (l_blob, FALSE); l_http_request := UTL_HTTP.begin_request ('http://tuik.gov.tr/PreIstatistikTablo.do?istab_id=650'); l_http_response := UTL_HTTP.get_response (l_http_request); BEGIN LOOP UTL_HTTP.read_raw (l_http_response, l_raw, 32767); DBMS_LOB.writeappend (l_blob, UTL_RAW.LENGTH (l_raw), l_raw); END LOOP; EXCEPTION WHEN UTL_HTTP.end_of_body THEN UTL_HTTP.end_response (l_http_response); END; SELECT fnd_lobs_s.NEXTVAL INTO l_media_id FROM DUAL; INSERT INTO fnd_lobs (file_id, file_name, file_content_type, upload_date, expiration_date, program_name, program_tag, file_data, LANGUAGE, oracle_charset, file_format ) VALUES (l_media_id, 'tufe.xls', 'application/vnd.ms-excel', SYSDATE, NULL, 'FNDATTCH', NULL, EMPTY_BLOB (), 'US', 'UTF8', 'BINARY' ); UPDATE fnd_lobs SET file_data = l_blob WHERE 1 = 1 AND file_id = l_media_id; DBMS_LOB.freetemporary (l_blob); DBMS_OUTPUT.put_line (' file_id : ' || l_media_id); COMMIT; END; |
Latest posts by Mustafa Korkmaz (see all)
- Write for us sponsored posts - 16 Mayıs 2025
- CameraBag Photo Software 2024.0.0 Download Free For PC - 16 Mayıs 2025
- HTML Görüntüsü için Unicode Dönüşümü - 27 Temmuz 2020
Etiketler: blob fnd_lobs insert, download url fnd_lobs, fnd_lobs, fnd_lobs kaydet, UTL_HTTP fnd_lobs, UTL_HTTP.begin_request fnd_lobs
Yazar




