機械翻訳について

前処理関数および後処理関数について

JDBCデータ・ソースへの接続の作成(前処理関数)またはクローズ(後処理関数)時に実行する「パブリッシャ」のPL/SQL関数を定義できます。

これらの2つのフィールドにより、管理者は接続がデータベースに対して実行される前にユーザーのコンテキスト属性を設定して、接続が抽出エンジンによって中断された後で属性を無視できます。

システム変数 :xdo_user_nameは、ログイン・ユーザー名をPL/SQL関数コールに渡すバインド変数として使用できます。 ログイン・ユーザーのコンテキストをこのように設定すると、データ・ソース・レベル(SQL問合せレベルではなく)でデータを保護できます。

たとえば、次のサンプル関数があるとします:

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

データベースに接続するたびにこの関数をコールするには、「前処理機能」フィールドに次のように入力 : set_per_process_username(:xdo_user_name)

別の使用例として、ユーザーが接続または切断するたびにLOGTAB表に行を挿入する場合があります:

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;

「前処理機能」フィールドに、次のように入力 : BIP_LOG(:xdo_user_name)

新しい接続がデータベースに対して実行されると、LOGTAB表にログインします。 SMODE値ではアクティビティを開始または終了として指定します。 この関数を「後処理機能」としてコールするとともに、次の表に示すような結果が返されます。