您好我正在尝试使用JDBC预处理语句批量上传到sybase iq。我得到以下sql异常
java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 1.
编辑:
INSERT INTO School2(schoolid,schoolname,schooltype) VALUES (?,?,?)
我正在使用以下代码
我是JDBC的新手请指导出错。提前谢谢。
答案 0 :(得分:2)
我们没有看到您的查询字符串,但似乎在执行语句时未设置所有参数。
具体来说,我不认为在for循环中设置参数应该找到pstmt.executeBatch();
:在设置所有参数之前执行批处理!
答案 1 :(得分:1)
我认为问题是由于pstmt.addBatch()
上的每次迭代都会调用pstmt.executeBatch()
和colArray
。您只应在设置所有查询参数后致电pstmt.addBatch()
,并且只有在处理完所有对象后(或者您已达到批量大小)时才调用pstmt.executeBatch()
。< / p>