带有可调用语句的JTDS无效参数索引

问题描述 投票:0回答:1

我得到了这个例外。但没有找到解决方案。我有一个存储过程。它接受1个输入参数,输出是各个值和值列表的组合。谁能帮我。

java.sql.SQLException:无效的参数索引11.在net.sourceforge.jtds.jdbc.JtdsPreparedStatement.getParameter(JtdsPreparedStatement.java:340)net.sourceforge.jtds.jdbc.JtdsCallableStatement.registerOutParameter(JtdsCallableStatement.java:263)at net.sourceforge.jtds.jdbc.JtdsCallableStatement.registerOutParameter(JtdsCallableStatement.java:251)

我试图像这样注册输出参数。

       private static final String sql2 = "{call dbo.abcc(?,?,?,?,?,?,?,?,?,?)}";

        conn = getDBConnection();
        CallableStatement cs = conn.prepareCall(sql2);
        cs.setLong(1, 4522366);

        cs.registerOutParameter(2, Types.VARCHAR);
        cs.registerOutParameter(3, Types.CHAR);
        cs.registerOutParameter(4, Types.BIT);
        cs.registerOutParameter(5, Types.VARCHAR);
        cs.registerOutParameter(6, Types.VARCHAR);
        cs.registerOutParameter(7, Types.VARCHAR);
        cs.registerOutParameter(8, Types.VARCHAR);

        cs.registerOutParameter(9, Types.VARCHAR);
        cs.registerOutParameter(10, Types.VARCHAR);
        cs.registerOutParameter(11, Types.VARCHAR);


        ObjectBean odb = null;
        ResultSet rs = cs.executeQuery();
java sql-server-2008 jdbc jtds
1个回答
0
投票

从您的示例调用,您的过程dbo.abcc似乎只有10个参数,因此注册第11个参数失败。

© www.soinside.com 2019 - 2024. All rights reserved.