2011-07-12 74 views
1

我目前在Oracle DB上使用Doctrine,使用Doctrine_Adapter_OracleDoctrine + Oracle =超出最大打開遊標(ORA-01000)

我的應用程序處理一些批處理,涉及查詢和插入/保溼許多對象(〜700 +)。

如果這樣做,我得到一個錯誤甲骨文:甲骨文允許

ORA-01000: maximum open cursors exceeded 

ORA-04088: error during execution of trigger 'SYSTEM.DOCUMENT_AI_PK' : INSERT INTO (...) 

我最大遊標是300,這海事組織,是很多。所以我錯過了一些東西,還是有一些教義不對?

經過一番谷歌搜索之後,我發現這個Entry on the Doctrine bug tracker: "Oracle don't close cursor"。我嘗試了建議的補丁,它似乎工作。但是,我真的不願意使用它,因爲Jonathan Wage(學說的領導者)似乎不鼓勵它。

我很堅持這一個,所以任何幫助將不勝感激。

回答

0

我認爲沒有太多的問題,教條有什麼問題。你有兩個選擇,當面對這個錯誤:

  1. 關閉遊標儘快
  2. 增加OPEN_CURSORS

中提供的鏈接的討論似乎圍繞什麼是內學說修復它的正確途徑中心。

+0

基本上,你告訴我要增加允許的光標數量,或者修復原則。我不能只是「儘快關閉遊標」,因爲它們完全由教義管理。 –

+0

我正在尋找一些關於如何修復Doctrie的指針,或者建議修復有多好。 (對不起,允許編輯時間已過期) –

+0

除了可以,帶補丁,否?這不就是你發佈的鏈接所說的嗎?你自己說它解決了你的光標問題。東西壞了。我看到的你的選擇就是我列出的。我想如果這是值得的,那就這樣吧。 – DCookie

相關問題