gpt4 book ai didi

c# - ORA-01000 : maximum open cursors exceeded using oracle instant client and C#

转载 作者:太空狗 更新时间:2023-10-30 01:34:50 26 4
gpt4 key购买 nike

我们的 C# 应用程序正在生成 ORA-01000 错误。我们使用的是 ODP.Net,应用程序运行完美,没有出现任何 ORA-01000 错误。

我们删除了 ODP.Net 并安装了即时客户端(我们现在使用 7 个 dll 文件从 C# 连接到 Oracle,这些文件是 oci.dll、ociw32.dll、Oracle.DataAccess.dll、orannzsbb11.dll、oraocci11。 dll、oraociicus11.dll 和 OraOps11w.dll)。

从那时起,我们在执行具有多个查询的长进程时得到了 ORA-01000。注意我们正在关闭/处置 OracleDataReader 对象。

即时客户端出现 ORA-01000 的原因可能是什么?

最佳答案

我知道这个问题已经有一年了,但我们刚刚遇到了同样的问题。我们所有与 Oracle 相关的对象都已关闭和处置,但游标仍然泄漏。

问题似乎在于 ODP.Net 如何使用连接池。连接池在默认情况下处于启用状态,在我们的环境中,这似乎始终会导致游标泄漏,这种情况会反复发生,直到数据库决定足够了并拒绝再授予。

解决方法是在连接字符串中禁用连接池,如下所示:

Data Source=myOracle;User Id=myUsername;Password=myPassword;Pooling=False;

我们的应用程序在启动时使用了 30 多个游标,并稳步增加到 200 个。现在禁用了连接池,它使用了 2 到 3 个游标。

关于c# - ORA-01000 : maximum open cursors exceeded using oracle instant client and C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28696528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com