繁体   English   中英

数据库重新联机后,连接请求超时

[英]Connection request timed out after database is back online

我们在使用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 =“Connection request out out out ...

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

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

有什么建议? 谢谢

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

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

代替

...Data Source = MyTNSDescription...

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

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

突然间问题就消失了。 如果问题与您的特定Oracle Client / TNS配置有关,那么可能会让您快速工作。 无论如何,这是一个快速的尝试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM