BLOB Veri İhracı  

Top  Previous  Next

RelDBQueryProcess ve RelDBQueryDataSource, tabloların BLOB (Binary Large Object) türü alanlarıda saklanan verileri dosya sistemine ihraç edebilmeyi destekler.

Bu özellik sayesinde tek bir sorgu ile hem diğer türdeki alanların değerleri elde edilebilir hem de BLOB olarak saklanan resim, video, dokümanların, vs. gibi verilerin web tarayıcısının direkt erişebileceği dizinlere ihraç edilmesi sağlanabilir.

BLOB Veri İhracı tanımı, SQL sorgusu ile aynı yerde ancak bir SQL yorumu içinde verilmelidir.

Tanım Söz dizimi

/* _EXPORT_BLOB_DATA(ihraç-dizinianahtar-alanlarblob-alanlardeğişikliği-farketme-alanları) */

 

Parametreler

ihraç-dizini

Blob alanların ihraç edileceği dizin adı. Her ne kadar bu tanım hem mutlak olarak hem de web uygulaması kök dizinine göreceli olarak verilebilirse de tarayıcıların ihraç edilen dosyalara direk olarak erişebilmesi için tanımın göreceli yapılması gerekir.

 

anahtar-alanlar

İhraç edilecek olan dosyaların birbirlerine karışmaması için benzersiz olarak isimlendirilmeleri gerekir. Bu nedenle tablo bazında benzersiz bir kimlik oluşturmak için bu parametrede bir yada virgüller ile ayırarak birden fazla alan ismi verilmelidir.

 

blob-alanlar

Dosyalara ihraç edilecek olana BLOB alanların adları. Bir yada virgüller ile ayırarak birden fazla alan adı verilebilir. Alan adlarından hemen sonra ':' karakteri ve dosya uzantısı verilmelidir. Bu uzantı aynı zamanda BLOB alanda saklanan verinin doküman tipidir.

 

değişikliği-farketme-alanları

Bu parametre zorunlu değildir. BLOB alanlarda saklanan verilerin değişmediği halde gereksiz yere tekrar tekrar ihraç edilmesini önlemek için kullanılır. Eğer tablo içinde kayıt değişikliğini saklayan bir yada birden fazla alan varsa bu alanlar virgüller ile ayrılarak bu parametrede verilebilir.

 

Eğer parametreye bir değer verilmez ise, veri 10 saniyeden uzun aralıklarla yapılan sorgulamalarda tekrar ihraç edilecektir.

 

 

 

Örnekler:

 

/* _EXPORT_BLOB_DATA(urun_resimleri; ID; RESIM:jpg)  */

 

select * from products

 

 

/* _EXPORT_BLOB_DATA(fotograflar; AD, SOYAD, DEPARTMAN; FOTO:jpg; GUNCELLEME_TARIHI)  */

 

select * from employees

 

 

/* _EXPORT_BLOB_DATA(dokumanlar; NO; TEKLIF:doc, SUNUM:ppt; GUNCELLEME_TARIHI)  */

 

select * from documents

 

Gerektiğinde tanım ifadesi koşula bağlı olarak devreye alınabilir.

 

@doif(EXPORT_DOCS)

  /* _EXPORT_BLOB_DATA(dokumanlar; NO; TEKLIF:doc, SUNUM:ppt; GUNCELLEME_TARIHI)  */

@doend()

 

select * from documents

 

 

Bakın BLOB Alanların Güncellenmesi

 
Dosyaları Adları

İhraç edilmiş verileri saklayan dosyalara otomatik olarak benzersiz isimler atanır ve bu dosya isimler ilgili sonuç alanlarına atanır.

 

 

/* _EXPORT_BLOB_DATA(dokumanlar; NO; TEKLIF:doc, SUNUM:ppt; GUNCELLEME_TARIHI)  */

 

select * from documents

 

Not: TEKLIF ve SUNUM sonuç alanları ihraç dosyalarının adlarını içerecektir.