Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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 IN、OUT或INOUT对于过程中的参数无效_Java_Sql_Stored Procedures_Rpg - Fatal编程技术网

Java IN、OUT或INOUT对于过程中的参数无效

Java IN、OUT或INOUT对于过程中的参数无效,java,sql,stored-procedures,rpg,Java,Sql,Stored Procedures,Rpg,我从我的java调用了一个RPG过程,得到了一个错误 ERROR o.h.e.jdbc.spi.SqlExceptionHelper - [SQL0469] IN, OUT, or INOUT not valid for parameter 4 in procedure in *N. 查询中的一个参数是in和OUT 我只是试着写一个小查询,如下所示 "CALL " + procedureName + "(2014, 1, 1.00, 0,'Y' )"); 这里参数4(0)是查询返回的输出

我从我的java调用了一个RPG过程,得到了一个错误

ERROR o.h.e.jdbc.spi.SqlExceptionHelper - [SQL0469] IN, OUT, or INOUT not valid for parameter 4 in procedure  in *N.
查询中的一个参数是in和OUT

我只是试着写一个小查询,如下所示

 "CALL " + procedureName + "(2014, 1, 1.00, 0,'Y' )");
这里参数4(0)是查询返回的输出,也是输入

有什么帮助吗

这是我写的实际查询

   rpgCall = connection.prepareCall("CALL " + procName + "(?, ?, ?, ?, ?)");

            rpgCall .setInt(1, params.year);
            rpgCall .setInt(2, params.value1);
            rpgCall .setInt(3, params.value2);
            rpgCall .setInt(4,params.value3); 
            rpgCall .setString(5, "Y");
            rpgCall .execute();

如果参数为OUT,那么您需要在该位置有一个变量-您不能传递它一个常量,因为过程无法更改它。

谢谢Scott。我会尝试一下。它应该类似于sqlCall.registerOutParameter(4,java.sql.Types.DECIMAL);