java - 如何使用 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 表单中,我不知道是否有办法访问它。
解决方案
推荐阅读
- flutter - 未选择 DropDownButton 项目
- node.js - 如何使用 Nodejs 将通行证保存到 Google Pay?
- amazon-cognito - Cognito 多租户用户池
- reactjs - 如何直接从 VSCode 运行和调试 React 应用程序?
- javascript - NextJS:如果不满足查询,如何转到另一个页面
- python-3.x - 如何在python中获取列的百分比与行的总和
- android - RecyclerView 在一个项目点击时选择多个项目
- elasticsearch - 如何在 Kibana 中查看日志文件?
- php - HTML - CSS 导航栏下拉菜单
- function - 为什么我不能用两个 i32 参数调用 gen_range ?