3 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
我遇到了與 sybase iq 相同的問題。preparedStatement.execureQuery()我在聲明之前添加了以下兩行代碼來解決問題。
preparedStatement.setFetchSize(Integer.MAX_VALUE);
preparedStatement.setFetchDirection(ResultSet.FETCH_FORWARD);
不確定這樣做是否正確,但它奏效了。
要么
你可以設(shè)置 preparedStatement.setCursorName("SomeCursorName"); 這個(gè)也解決了這個(gè)問題。但在多線程環(huán)境中,您需要設(shè)置一個(gè)唯一的游標(biāo)名稱。可能正在使用隨機(jī)數(shù)或其他東西并且不要?jiǎng)?chuàng)建太多游標(biāo)將它們限制為將同時(shí)執(zhí)行的并發(fā)線程數(shù)。

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
我使用了 jconn4 連接屬性 LITERAL_PARAMS=true 并且工作正常。小心,性能會(huì)受到影響。
當(dāng)設(shè)置為“true”時(shí),由 PreparedStatement 接口中的 setXXX 方法設(shè)置的任何參數(shù)都會(huì)在 SQL 語句執(zhí)行時(shí)逐字插入。如果設(shè)置為“false”,則參數(shù)標(biāo)記將保留在 SQL 語句中,并將參數(shù)值單獨(dú)發(fā)送到服務(wù)器。

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
stmt.setString(1, "260"); stmt.setString(2, "9050V");
數(shù)組索引從 0 開始不是嗎?在您使用的 API 中,它不是基于零的索引嗎?
添加回答
舉報(bào)