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; |
Mustafa Korkmaz
Oracle Applications Developer at Partnera
2005 yılında Dokuz Eylül Üniversitesi Endüstri Mühendisliğinden Mezun
Oldu, 2011 Yılında Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliğinde
Yüksek Lisansını Tamamlandı,2012 Yılında Doğuş Üniversitesinde Bilgisayar
Mühendisliği Doktora Eğitimine Başladı.10 yılı aşkın bir zamandır Oracle
Ürünleri Uygulama Yazılım Uzmanı Olarak profesyonel kariyerine devam
etmektedir. İlgi alanları Middleware, CI/CD,
Oracle Database , PL/SQL , Java , Makine Öğrenmesi ve Veri Madenciliği alanlarındadır.
2 versiyon Oracle Database ' (10g, 11g) inde OCA(Oracle Certificate Associate) ve
PL/SQL Certificated Professional ünvanları bulunmaktadır.
Mail: mustafakorkmz@gmail.com
Oldu, 2011 Yılında Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliğinde
Yüksek Lisansını Tamamlandı,2012 Yılında Doğuş Üniversitesinde Bilgisayar
Mühendisliği Doktora Eğitimine Başladı.10 yılı aşkın bir zamandır Oracle
Ürünleri Uygulama Yazılım Uzmanı Olarak profesyonel kariyerine devam
etmektedir. İlgi alanları Middleware, CI/CD,
Oracle Database , PL/SQL , Java , Makine Öğrenmesi ve Veri Madenciliği alanlarındadır.
2 versiyon Oracle Database ' (10g, 11g) inde OCA(Oracle Certificate Associate) ve
PL/SQL Certificated Professional ünvanları bulunmaktadır.
Mail: mustafakorkmz@gmail.com
Latest posts by Mustafa Korkmaz (see all)
- Log4j CVE-2021-45046 Zafiyeti - 16 Aralık 2021
- Materialized View Verisi Purge ya da Delete (atomic_refresh) - 12 Kasım 2021
- 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