3 回答

TA貢獻1789條經驗 獲得超8個贊
我遇到了與 sybase iq 相同的問題。preparedStatement.execureQuery()我在聲明之前添加了以下兩行代碼來解決問題。
preparedStatement.setFetchSize(Integer.MAX_VALUE);
preparedStatement.setFetchDirection(ResultSet.FETCH_FORWARD);
不確定這樣做是否正確,但它奏效了。
要么
你可以設置 preparedStatement.setCursorName("SomeCursorName"); 這個也解決了這個問題。但在多線程環境中,您需要設置一個唯一的游標名稱??赡苷谑褂秒S機數或其他東西并且不要創建太多游標將它們限制為將同時執行的并發線程數。

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 中,它不是基于零的索引嗎?
添加回答
舉報