posts - 23,  comments - 1,  trackbacks - 0

          下面的片斷轉載于www.itpub.net

          [TIP]關于Java開發中使用Oracle數據庫的一點注意事項(原創)

          很多朋友在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只需要設置一個比較小的值,就足夠使用了,除非有非常特別的要求。

          posted on 2006-08-22 11:01 咖啡時間 閱讀(234) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2006年8月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          專 注 Java 技 術 的 開 發... ... 享 受 Java 咖 啡 的 美 味... ... 擁 有 Sun 一 般 的 人 生

          常用鏈接

          留言簿(1)

          隨筆檔案(23)

          文章檔案(1)

          Java學習資源

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 仁布县| 太保市| 仪陇县| 邹城市| 齐河县| 昌图县| 浑源县| 寻乌县| 株洲市| 拉孜县| 望奎县| 嵩明县| 彩票| 榆树市| 普宁市| 静乐县| 内丘县| 杭锦旗| 浑源县| 玉田县| 河曲县| 彰化市| 增城市| 临泉县| 平罗县| 广灵县| 普洱| 化州市| 家居| 岐山县| 五莲县| 铁力市| 百色市| 绥化市| 东明县| 石屏县| 临夏市| 香格里拉县| 宜章县| 张家川| 伊通|