gpt4 book ai didi

c# - 数据库重新联机后连接请求超时

转载 作者:行者123 更新时间:2023-11-30 12:55:01 25 4
gpt4 key购买 nike

我们在使用 PetaPoco micro-orm 的 C# 项目中遇到问题。我们的 Oracle 数据库在另一台机器上,如果我们将那台机器关闭以进行维护或出现故障,我们会在 C# PetaPoco 中遇到此错误:

Exception="Connection request timed out
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode,
OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object
src, String procedure, Boolean bCheck, Int32 isRecoverable,
OracleLogicalTransaction m_OracleLogicalTransaction)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode,
OracleConnection conn, IntPtr opsErrCtx, Object src, OracleLogicalTransaction
m_oracleLogicalTransaction)
at Oracle.DataAccess.Client.OracleConnection.Open()

这没问题,但是当数据库恢复时,我们在尝试打开数据库时仍然遇到同样的错误:Exception="连接请求超时...

我尝试将 Max Pool Size 设置为一个较小的数字(例如 3)并尝试打开多个连接而不关闭它们以重现该问题。不幸的是,我从这个实验中得到了一个不同的错误:Pooled Connection request timed out

当数据库 PC 在一夜之间停机时,就会发生这种情况。使用 SQLDeveloper 测试与数据库的连接是否正常。

有什么建议吗?谢谢

最佳答案

几周前,我在开发工作站上收到了池连接请求超时。

我能够通过将连接描述直接放入连接字符串而不是使用 TNS 来清除这一点。

代替

...Data Source = MyTNSDescription...

我把它放在 Web.config 连接字符串中

... Data Source = (DESCRIPTION =(ADDRESS = <rest of connection description>...

然后问题突然消失了。如果问题与您的 Oracle 客户端/TNS 的特定配置有关,那可能会让您快速工作。无论如何,尝试是一件很快的事情。

关于c# - 数据库重新联机后连接请求超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51966479/

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