java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 2

本文探讨了一种常见SQL调用错误的原因及解决办法,详细解释了参数匹配、数量和类型的重要性,并提供了排查步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直没写过储蓄过程,今天试着写了下,但问题随着出来了,在调用时出现如下异常:

 

执行SQL异常!SQL: {call P_VIP_RULE_INS(?,?,?,?,?,?,?,?)}
java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 2
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
	at oracle.jdbc.driver.OracleStatement.checkBindsInAndOut(OracleStatement.java:1876)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2638)
	at oracle.jdbc.driver.OraclePreparedStatement.doScrollPstmtExecuteUpdate(OraclePreparedStatement.java:3975)
	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:623)
	at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:656)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)
	at gx.db.impl.DBM.executePro(DBM.java:206)

 

在网上查了下,大家也遇到过此类问题,具体原因说明如下:

      

      参数不匹配,参数个数有问题,参数 sql有问题

      这个错误有很多人在发送语句时出的错.如:

      有的sql语句可能全角与半角出现的:java.sql.SQLException无效的列索引

 

通过从大家的答案中,基本可以确认是自己写法有问题,通过检查和测试,找出原因是出在设置参数时,类型搞错了

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值