2011-07-12 37 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

相关问题