【问题标题】:IN, OUT, or INOUT not valid for parameter in procedure [duplicate]IN、OUT 或 INOUT 对过程中的参数无效 [重复]
【发布时间】:2014-07-27 23:49:36
【问题描述】:

我正在从我的 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();

【问题讨论】:

    标签: java sql stored-procedures rpg


    【解决方案1】:

    如果参数是 OUT,那么你需要在那个位置有一个变量——你不能给它传递一个常量,因为过程不能改变它。

    【讨论】:

    • 谢谢 Scott。我会试试的。
    • 应该是这样的 sqlCall.registerOutParameter(4, java.sql.Types.DECIMAL); mkyong.com/jdbc/…
    猜你喜欢
    • 1970-01-01
    • 2011-07-29
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多