文章詳情頁
Java開發使用Oracle數據庫的注意事項
瀏覽:58日期:2024-07-06 14:58:33
很多朋友在Java開發中,使用Oracle數據庫的時候,經常會碰到有ORA-01000: maximum open cursors exceeded.的錯誤。 實際上,這個錯誤的原因,主要還是代碼問題引起的。 ora-01000: maximum open cursors exceeded.表示已經達到一個進程打開的最大游標數。 這樣的錯誤很輕易出現在Java代碼中的主要原因是:Java代碼在執行conn.createStatement()和conn.prepareStatement()的時候,實際上都是相當與在數據庫中打開了一個cursor。尤其是,假如你的createStatement和prepareStatement是在一個循環里面的話,就會非常輕易出現這個問題。因為游標一直在不停的打開,而且沒有關閉。 一般來說,我們在寫Java代碼的時候,createStatement和prepareStatement都應該要放在循環外面,而且使用了這些Statment后,及時關閉。最好是在執行了一次executeQuery、executeUpdate等之后,假如不需要使用結果集(ResultSet)的數據,就馬上將Statment關閉。 對于出現ORA-01000錯誤這種情況,單純的加大open_cursors并不是好辦法,那只是治標不治本。實際上,代碼中的隱患并沒有解除。 而且,絕大部分情況下,open_cursors只需要設置一個比較小的值,就足夠使用了,除非有非常非凡的要求。
標簽:
Java
排行榜