Başlangıç > Database, Oracle, PL/SQL > pl/sql de blob saha içeriğini görüntülemek

pl/sql de blob saha içeriğini görüntülemek


Merhaba,
Pl/sql ortamında hazırladığımız programlar için kullandığımız tablolar içinde blob alanlarda sakladığımız verileri yazdığımız normal bir select cümle ile ulaşamayız. Yani blob saha içindeki veriyi göremeyiz. Bu verileri görmek için blob türündeki verilerin içeriğini görmek için bu bilgileri convert etmemiz gerekmektedir. Şimdi blob sahası olan bir tablodan select çekerek sonuçlarını görelim.

SELECT bt_id       "Blob Id Bilgisi",
       bt_aciklama "Blob Açıklama Bilgisi",
       bt_blob     "Blob Saha"
  FROM blob_table;

Bu sql sonucunda aldığımız sonuç aşağıdaki gibi olacaktır.

Blob Id Bilgisi Blob Açıklama Bilgisi Blob Saha
1 Blob bilgisi açıklama alanı <BLOB>

Alınan sql sonucunda görüldüğü gibi blob alan içeriğini göremiyoruz. Bu durumda blob saha bilgisini convert işlemi yapılmadığından sql içinde into ataması ile blob saha değerini de kullanamıyoruz. Ama bu sorunlardan kurtulmak için dbms_lob paketi içindeki substr fonksiyonu ile blob saha içindeki verilerden kaç karakter veri alacağımızı belirttikten sonra , bu fonksiyonun dönüş değeri raw tipinde veri olduğu için bu verinin de varchar2 formatına dönüştürülmesi gerekiyor. Bu dönüşüm işlemi için de utl_raw paketi içindeki cast_to_varchar2 fonksiyonunu kullanacağız. Şimdi bu iki paket içindeki fonksiyonların kullanılarak üst taraftaki sql sonucunun blob saha içindeki değerini görelim.

SELECT bt_id "Blob Id Bilgisi",
       bt_aciklama "Blob Açıklama Bilgisi",
       bt_blob "Blob Saha",
       utl_raw.cast_to_varchar2(dbms_lob.substr(bt_blob, 32000, 1)) "Blob Saha İçeriği"
  FROM blob_table;

Yukarıda sql içerisinde de görüldüğü gibi iki paketin ve bu paketlerin içindeki fonksiyonların kullanımı görülmektedir. Bu sql sorgusunun çıktısı da aşağıdaki gibidir.

Blob Id Bilgisi Blob Açıklama Bilgisi Blob Saha Blob Saha İçeriği
1 Blob bilgisi açıklama alanı <BLOB> Deneme BLOB bilgisi.Bu bilgiyi okumak için dbms_lob paketi içindeki substr[dbms_lob.substr] fonksiyonunu ve utl_raw paketi içindeki cast_to_varchar2[utl_raw.cast_to_varchar2] fonksiyonunu kullanacağız.

Yukarıdaki sql sonucunda da görüldüğü gibi blob sahanın convert işlemini yapılmadan önceki hali ve convert işleminden sonraki durumu görülebilinir.
Kolay gelsin.

Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: