天天看點

關于“ORA-01000: 超出打開遊标的最大數”

  當我們需要查詢資料庫,并且傳回的結果集有多條記錄時,如何一條條的定位讀取記錄呢?這時候就需要遊标了。 Oracle中所謂的遊标,用來标記目前所指向的位置,預設是在第一條記錄之前,rs.next,就下移一位,一直到最後一條記錄之後。

      資料庫的連接配接一般都會占用一定的資源,如何保證連接配接的速度以及系統的效率,實在是值得我們權衡一下。今天遇到的問題其實隻是一個不小心,将一個For循環中指派的reader對象的關閉操作放在了循環之外。其實每次執行Read操作,都會占用Oracle的cursors資源,因為遊标一直在不停的打開,而且沒有關閉,也難怪會造成ORA01000的異常了,對于這種情況,單純的加大open_cursors并不是好辦法,那隻是治标不治本,實際上,代碼中的隐患并沒有解除。看來代碼必須要經過實際應用,最好是大資料量的錘煉~

      2008年的最後一篇感言,關于Oracle~

      2009,新的任務,新的挑戰,期待ing~~~

2008-12-30 22:53