首页 > 解决方案 > 如何使用 java 从 oracle 表单中调用程序单元

问题描述

我需要调用 Oracle Forms 中而不是数据库中的 PL/SQL 函数。有谁知道如何做到这一点?

在互联网上搜索我发现了如何在 PL/SQL 函数中调用 Java 方法,但反之则不然。我需要捕获这个函数,它位于 Oracle Forms(程序单元)中并传递必要的参数,以便模拟我的自动化测试的行为。我感谢大家的帮助。

我将尝试举例说明。在我的 OracleForms 中,我具有以下功能:

FUNCTION FN_MYFUNCTION_WS(P_CD_PERSON NUMBER,P_CD_TYPE VARCHAR2 DEFAULT 'V') RETURN NUMBER IS
vRetorno number := 1;
BEGIN
   /*code here*/
End;

如果函数保存在数据库中,我可以使用 CallableStatement 对象访问它,如下所示:

    Connection conn = ConnectionFactory.getInstance().getConnection();
    if (conn != null) {

        CallableStatement cstm = conn.prepareCall("begin ? := fn_myfunction_ws(?, ?); end;");
        cstm.registerOutParameter(1, Types.VARCHAR);
        cstm.setInt(2, cdPerson);
        cstm.setString(3, "V");
        cstm.executeUpdate();
        String outFunc = cstm.getString(1);
    }

问题是该函数不在数据库中,而是在 oracle 表单中,我不知道是否有办法访问它。

标签: javaoracleoracleforms

解决方案


推荐阅读