Doctrine + Oracle =超出最大打开游标数(ORA-01000)

时间:2011-07-12 16:19:37

标签: php oracle symfony1 doctrine

我目前正在使用Doctrine_Adapter_Oracle

在Oracle数据库上使用Doctrine

我的应用程序涉及一些批处理,包括查询和插入/保湿很多物体(~700 +)。

这样做时,我从Oracle收到错误:

ORA-01000: maximum open cursors exceeded 

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

Oracle允许的最大游标数为300,IMO 很多。我错过了什么,或者说Doctrine有什么问题吗?

经过一些谷歌搜索后,我发现了Entry on the Doctrine bug tracker: "Oracle don't close cursor"。我尝试了建议的补丁,它似乎工作。但是,我真的不愿意使用它,因为似乎被Jonathan Wage(学说的主导)劝阻。

我非常喜欢这个,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

我不认为Doctrine有什么问题。遇到此错误时,您有两种选择:

  1. 尽快关闭游标
  2. 增加OPEN_CURSORS
  3. 所提供链接中的讨论似乎围绕着在Doctrine中修复它的正确方法。