Bağlantı Oluşturma ve Kapanış Fonksiyonları Hakkında

Yayımcı için JDBC veri kaynağı bağlantısı oluşturulduğunda (işlem öncesi fonksiyon) veya kapatıldığında (işlem sonrası fonksiyon) çalıştırılacak PL/SQL fonksiyonlarını tanımlayabilirsiniz.

Fonksiyon Mantıksal değer döndürmelidir. Bu özellik sadece Oracle veritabanları için desteklenir.

Bu iki alan, bir veritabanı ile bağlantı kurulmadan önce yöneticinin bir kullanıcının içerik özelliklerini ayarlamasına ve ardından bağlantı çıkartma altyapısı tarafından bozulduğunda özellikleri atmasına izin verir.

Oturum açma kullanıcı adını PL/SQL fonksiyon çağrılarına iletmek için :xdo_user_name sistem değişkeni bir bağlama değişkeni olarak kullanılabilir. Oturum açma kullanıcı içeriğinin bu şekilde ayarlanması, verilerin güvenliğini veri kaynağı düzeyinde sağlamanıza izin verir (SQL sorgusu düzeyi yerine).

Örneğin, aşağıdaki örnek fonksiyonu varsayın:

FUNCTION set_per_process_username (username_in IN VARCHAR2)
   RETURN BOOLEAN IS
     BEGIN
     SETUSERCONTEXT(username_in);
     return TRUE;
   END set_per_process_username

Veritabanına her bağlantı kurulduğunda bu fonksiyonu çağırmak için İşlem Öncesi Fonksiyon alanına şunu girin: set_per_process_username(:xdo_user_name)

Başka bir örnek kullanım olarak bir kullanıcı her bağlandığında veya bağlantıyı kestiğinde LOGTAB tablosuna bir satır eklemek gösterilebilir.

CREATE OR REPLACE FUNCTION BIP_LOG (user_name_in IN VARCHAR2, smode IN VARCHAR2) 
RETURN BOOLEAN AS
   BEGIN
   INSERT INTO LOGTAB VALUES(user_name_in, sysdate,smode);
   RETURN true;
   END BIP_LOG;

İşlem Öncesi Fonksiyon alanına bunu girin: BIP_LOG(:xdo_user_name)

Veritabanı ile yeni bir bağlantı kuruldukça LOGTAB tablosuna kaydedilir. SMODE değeri etkinliğin giriş veya çıkış olduğunu belirtir. Bu fonksiyonun İşlem Sonrası Fonksiyon olarak çağrılması da aşağıdaki tabloda gösterilenler gibi sonuçlar döndürür.