我们有一个网页,它使用ODP.Net从ASP MVC页面连接到oracle数据库。在重度用户负载期间,如果应用程序池因任何原因而回收,那么我们从内部oracle类获得的连接超时错误很少。
内部异常:StackTrace:在OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd,Boolean bGetForApp,String affinityInstanceName,Boolean bForceMatch)
我们如何处理这种情况?这可能是造成这个错误的原因吗?
答案 0 :(得分:0)
如果您使用的是每个用户或其他变量参数不同的新连接字符串,则可以超出最大连接数。仅当您使用完全相同的字符串时,池才有效。在你的封面下你的关闭"被忽略,连接管理器保持连接打开。在SQL Server中,每次重用现有连接时,都可以在跟踪控制台中看到连接重置。
Oracle可能有类似的东西。
跟踪您的连接以及可能的连接重置很可能会对创建如此多连接的内容有所了解。