我想知道如何在jMeter中为oracle存储过程传递数组值.下面已经详细说明了设置但是没有用.请帮我解决这个问题.Oracle PL / SQL:PROCEDURE Get_User(p_input1 IN VARCHAR2,p_input2 ...
我想知道如何在jMeter中为oracle存储过程传递数组值.
下面已经详细说明了设置但是没有用.请帮我解决这个问题.
Oracle PL / SQL:
PROCEDURE Get_User(
p_input1 IN VARCHAR2,
p_input2 IN VARCHAR2,
p_input3 IN VARCHAR2,
p_input4 IN SCHEMA.TABLE1.COLUMN1%TYPE,
arr_user_names IN SCHEMA2.CUSTOM_TYPE_TABLE,
p_user_name_out OUT VARCHAR2,
p_address_out OUT SCHEMA.TABLE1.COLUMN1%TYPE,
arr_result_set OUT SYS_REFCURSOR);
create or replace type CUSTOM_TYPE as object( name VARCHAR2(30),salary NUMBER(5,2));
create or replace type CUSTOM_TYPE_TABLE is table of CUSTOM_TYPE;
查询:
call SCHEMA1.PKG1.Get_User(?,?,?,?,?,?,?,?)
参数值:
INVAL1,INVAL3,INVAL3,INVAL4,'users':[{'name':'all'}],OUT,OUT,OUT
参数类型:
VARCHAR,VARCHAR,VARCHAR,VARCHAR,ARRAY,OUT VARCHAR,OUT VARCHAR,OUT -10
变量名称:
p_input1,p_input2,p_input3,p_input4,arr_user_names,p_user_name_out,p_address_out,arr_result_set
ResultSet变量名称:
p_user_name_out,p_address_out,arr_result_set
错误:响应消息:java.sql.SQLException:无法转换为内部表示:’users’:[{‘name’:’all’}
解决方法:
查看AbstractJDBCTestElement.setArgument()函数我没有看到Types.Array子句,所以我的期望是你无法使用内置的JMeter JDBC测试元素来实现它.
我建议考虑切换到JSR223 Sampler和Groovy language,在那里你可以完全控制你的逻辑流程.有关详细信息,请参阅Using Array Objects教程.
本文标题为:响应消息:java.sql.SQLException:无法转换为内部表示:jmeter
基础教程推荐
- Java实现大文件的分割与合并的方法详解 2023-04-06
- 关于thymeleaf判断对象是否为空的相关逻辑处理 2023-06-10
- IDEA 2022 CPU占用100%的问题及解决方法 2023-03-30
- Java常用集合之Set和Map的用法详解 2023-02-18
- springboot集成swagger3与knife4j的详细代码 2023-04-16
- Java实现规则几何图形的绘制与周长面积计算详解 2023-02-27
- Log4j关闭Spring和Hibernate日志打印方式 2023-08-07
- 纯JSP实现的简单登录示例 2023-08-02
- springboot返回值转成JSONString的处理方式 2023-01-13
- springboot整合netty框架的方式小结 2022-12-27
