gpt4 book ai didi

java - 从 Java 调用时数据库中的过程不工作

转载 作者:行者123 更新时间:2023-12-01 05:03:16 25 4
gpt4 key购买 nike

我有一个 Java 应用程序在 Weblogic Server 上运行并连接到 Oracle 11g DB 服务器。

在应用程序中,我调用数据库过程并向其传递一个参数,以进行通信并调用多个其他过程。

当我独立测试该程序时,它工作完美且符合预期。

当我从 Java 应用程序调用过程时出现问题。

程序出现错误:

ORA-06508: PL/SQL: could not find program unit being called

回溯导致调用另一个架构中存在的过程,并且在我当前的架构中具有同义词。

如果其他人遇到相同或类似的问题,请提供帮助。

编辑#1:调用DB Proc的示例代码

CallableStatement cstmt = null;
private Connection dbConn = null;
HashMap hashMap = new HashMap();
hashMap.put(DBDRIVER, driverType);
hashMap.put(USERID, userName);
hashMap.put(PASSWORD, password);
hashMap.put(SID, dbName);
hashMap.put(IPADDRESS, intDBServer);
hashMap.put(PORT, dbPort);
dbConn = (Connection)cmmObj.connect(hashMap);
cstmt = dbConn.prepareCall(queryToRun);
cstmt.setString(1, ReqId);
cstmt.executeUpdate();

过程调用是 { call Proc_CALL(?) }

最佳答案

在我看来,您的同义词似乎是错误的 - 调用模式需要被调用过程的同义词+执行权限。

关于java - 从 Java 调用时数据库中的过程不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13067502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com