3 回答

TA贡献1789条经验 获得超8个赞
我遇到了与 sybase iq 相同的问题。preparedStatement.execureQuery()我在声明之前添加了以下两行代码来解决问题。
preparedStatement.setFetchSize(Integer.MAX_VALUE);
preparedStatement.setFetchDirection(ResultSet.FETCH_FORWARD);
不确定这样做是否正确,但它奏效了。
要么
你可以设置 preparedStatement.setCursorName("SomeCursorName"); 这个也解决了这个问题。但在多线程环境中,您需要设置一个唯一的游标名称。可能正在使用随机数或其他东西并且不要创建太多游标将它们限制为将同时执行的并发线程数。

TA贡献1966条经验 获得超4个赞
我使用了 jconn4 连接属性 LITERAL_PARAMS=true 并且工作正常。小心,性能会受到影响。
当设置为“true”时,由 PreparedStatement 接口中的 setXXX 方法设置的任何参数都会在 SQL 语句执行时逐字插入。如果设置为“false”,则参数标记将保留在 SQL 语句中,并将参数值单独发送到服务器。

TA贡献1886条经验 获得超2个赞
stmt.setString(1, "260"); stmt.setString(2, "9050V");
数组索引从 0 开始不是吗?在您使用的 API 中,它不是基于零的索引吗?
添加回答
举报