oracle - JMeter:Oracle 12C 中如何处理隐式结果? ORA-20999: Oracle ERROR::ORA-29478: 无法通过此语句返回隐式结果

标签 oracle jmeter

在 Oracle 数据库中通过 JMeter 调用存储过程时,出现以下错误:
ORA-20999: Oracle ERROR::ORA-29478: 无法通过此语句返回隐式结果

我没有 10 声望,所以无法发布图片。我将描述配置。

这是我的 JDBC 连接信息:

Max Number of Connections:0  
Max Wait (ms):10000  
Time Between Eviction Runs (ms): 60000  
Auto Commit: True  
Transaction Isolation:TRANSACTION_READ_COMMITTED  
Test While Idle: True  
Soft Min Evictable Idle Time (ms): 5000  
Validation Query: select 1 from dual  
JDBC Driver Class: oracle.jdbc.OracleDriver  

这是我的 JDBC 请求采样器信息:

Query Type: Callable Statement  
Procedure: call office_hierarchy() 

这是我收到的错误:

ORA-20999: Oracle ERROR:: ORA-29478: Implicit result cannot be returned through this statement  
ORA-06512: at 'XXXX.UTILS", line 2019  
ORA-06512: at "XXXX.OFFICE_HIERARCHY", line 39  

我特意用 XXXX 替换了我的用户。

我正在设置一个 JMeter 测试脚本,在其中调用 Oracle 数据库中的存储过程。 Oracle 数据库的版本为 12C。我使用 Oracle 网站上的最新版本 ojdbc8.jar。我还尝试了 ojdbc6.jar 和 ojdbc7.jar,也来自 Oracle 网站。我的 Jmeter 版本为 5.0 r1840935。我的java版本是1.8.0_191。

我已经确认可以建立数据库连接,因为可以毫无问题地进行选择查询。

Oracle 12c 中引入了隐式结果(或隐式游标)。到目前为止有人遇到过这个问题吗?我应该改变调用存储过程的方式吗?或者这仍然是一个驱动程序问题?或者说 JMeter 还不支持这个功能?

最佳答案

经过一番挖掘,我发现这不是驱动程序问题。实际上是别的东西。我使用了错误的语法来调用存储过程。

所以我原来的语法是:

call _stored_procedure_()  
call office_hierarchy()

但是,正确的语法是:

BEGIN  
_stored_procedure_();  
END;  

BEGIN  
office_hierarchy();  
END;  

这将解决这个问题,JMeter 现在返回结果集没有任何问题。

感谢大家的帮助。根据网站规则,我将在 48 小时后接受业主的答复。当然,我们始终欢迎其他意见!

关于oracle - JMeter:Oracle 12C 中如何处理隐式结果? ORA-20999: Oracle ERROR::ORA-29478: 无法通过此语句返回隐式结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54183410/

相关文章:

JMeter - 保存结果 + 配置 "graph results"时间跨度

sql - 为什么在 select translate (' @' ,' ' ,'' ) from Dual 时输出为空;以及为什么结果是 @ at select replacement (' @' ,' ' ,'' ) from Dual;

java - 在Jmeter中生成 session ID

javascript - 将返回的 Json 响应与发布的响应进行比较

java - 将 ARRAY 传递给存储过程时发生死锁

jmeter - 您可以使用 JMeter 测试 Siebel 应用程序的性能吗?

java - Jmeter:创建数组,然后设置属性,然后在数组中输入值

java - 日期字段未正确更新。提交日期更新为 12 :00:00AM instead of original Value

java - JPA 中是否可以对多列进行 GroupBy?

sql - 将多个列值插入单个插入值?