关于连接创建和关闭函数

可以定义在创建(预处理函数)或关闭(后处理函数)与 JDBC 数据源的连接时 Publisher 要运行的 PL/SQL 函数。

此函数必须返回布尔值。此功能仅受 Oracle 数据库支持。

利用这两个字段,管理员可在建立与数据库的连接前设置用户上下文属性,然后在提取引擎中断连接后删除属性。

系统变量 :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 值将活动指定为进入或退出。将此函数作为后处理函数调用也将返回下表中显示的结果。