【发布时间】:2021-12-18 00:19:34
【问题描述】:
我在 IIS5 上使用 10.1.0.301 版的 ODAC/ODP.Net 驱动程序运行回单个 Oracle 10g 服务器的负载平衡(不使用会话状态)ASP.Net 2.0 应用程序。在长时间不活动(几个小时)之后,应用程序会随机抛出 Oracle 异常:
异常:ORA-03113:通信通道上的文件结尾 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode、OracleConnection conn、IntPtr opsErrCtx、OpoSqlValCtx* pOpoSqlValCtx,对象 src,字符串过程)在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(布尔重新查询, Boolean fillRequest,CommandBehavior 行为)在 Oracle.DataAccess.Client.OracleCommand.System.Data.IDbCommand.ExecuteReader()
...堆栈的 Oracle 部分到此结束...
我们正在为每个请求创建新连接,将打开和关闭包装在 try/catch/finally 中以确保正确关闭连接,并将整个事情包装在 using (OracleConnection yadayada) {...} 块中.此问题似乎与 ASP.Net 应用程序在因不活动而停止后重新启动有关。
我们还没有自己重现这个问题。想法、祈祷、帮助?
更多:经 IT 部门核实,防火墙未设置为终止这些服务器之间的连接。
【问题讨论】:
-
可能连接池问题stackoverflow.com/questions/15980979/…你的
connection string怎么样?
标签: oracle oracle10g odp.net oracleexception