Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
响应消息:java.sql.SQLException:无法转换为内部表示形式:jmeter_Java_Oracle_Plsql_Jmeter - Fatal编程技术网

响应消息:java.sql.SQLException:无法转换为内部表示形式:jmeter

响应消息:java.sql.SQLException:无法转换为内部表示形式:jmeter,java,oracle,plsql,jmeter,Java,Oracle,Plsql,Jmeter,我想知道如何在jMeter for oracle存储过程中传递数组值 下面详细介绍了安装程序,但它不起作用。请帮助我 Oracle PL/SQL: PROCEDURE Get_User( p_input1 IN VARCHAR2, p_input2 IN VARCHAR2, p_input3 IN VARCHAR2, p_input4

我想知道如何在jMeter for 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
p_user_name_out,p_address_out,arr_result_set
查询:

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
p_user_name_out,p_address_out,arr_result_set
参数值:

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
p_user_name_out,p_address_out,arr_result_set
参数类型:

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
p_user_name_out,p_address_out,arr_result_set
变量名称:

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
p_user_name_out,p_address_out,arr_result_set
结果集变量名:

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
p_user_name_out,p_address_out,arr_result_set
错误:响应消息:java.sql.SQLException:无法转换为内部表示:'users':[{'name':'all'}

查看函数I Fail-to-see子句,因此我的期望是您无法使用内置JMeter JDBC测试元素实现此功能


我建议您考虑切换到可以完全控制逻辑流的位置。如果需要,请参阅教程了解更多详细信息。

CUSTOM_TYPE是name and salary,输入中的salary在哪里?您的查询是否在普通JDBC中工作?是的,salary是可选的,谢谢您的回复。那么我是否需要完整的代码来执行一个过程在groovy中测试并检查响应?如果是与连接配置相关的,我是否必须创建所有内容,或者我可以使用jMeter的JDBC连接配置?您可以使用JDBC连接配置实例化连接,如:
java.sql.connection conn=org.apache.jMeter.protocol.JDBC.config.DataSourceElement。getConnection(“您的变量名”);
。其他逻辑,即准备和执行查询以及处理结果,都需要在Groovy中完全完成。