当多个线程同时访问Odp.net连接池时失败(ORA-24550:收到的信号:未处理的异常:代码=e0434f4d)
我在使用多个线程同时调用多个当多个线程同时访问Odp.net连接池时失败(ORA-24550:收到的信号:未处理的异常:代码=e0434f4d),.net,oracle,odp.net,.net,Oracle,Odp.net,我在使用多个线程同时调用多个OracleConnections时遇到问题 示例A是一个单线程示例,工作正常: for (int i = 0; i < 100; i++) { OracleConnection oracon = new OracleConnection(oraconstr); oracon.Open(); } 在多线程情况下,netstat只显示一个活动的TCP连接,除了幸运的第一个线程赢得“Open()竞赛”之外,所有其他线程在调用Open()时都会被阻塞
OracleConnection
s时遇到问题
示例A是一个单线程示例,工作正常:
for (int i = 0; i < 100; i++)
{
OracleConnection oracon = new OracleConnection(oraconstr);
oracon.Open();
}
在多线程情况下,netstat
只显示一个活动的TCP连接,除了幸运的第一个线程赢得“Open()竞赛”之外,所有其他线程在调用Open()
时都会被阻塞,15秒后,也就是说,odp.net最终将抛出
Oracle.DataAccess.Client.OracleException Connection request timed out
异常并引发此本机异常,这将使应用程序实际崩溃:
ORA-24550: signal received: Unhandled exception: Code=e0434f4d Flags=1
kpedbg_dmp_stack()+428<-kpeDbgCrash()+102<-kpeDbgSignalHandler()+123<-skgesig_Win_UnhandledExceptionFilter()+173<-0000000077A49380<-0000000077B6573C<-0000000077AE5148<-0000000077B0554D<-0000
000077AE5D1C<-0000000077AE62EE<-000007FEFDD7AA7D<-000007FEE7E6F0BD<-000007FEE8422ED0<-000007FF001AB805<-000000000268A4B8<-00000000FFFFFC18
ORA-24550:接收到的信号:未处理的异常:code=e0434f4d标志=1
kpedbg_dmp_堆栈()+428
ORA-24550: signal received: Unhandled exception: Code=e0434f4d Flags=1
kpedbg_dmp_stack()+428<-kpeDbgCrash()+102<-kpeDbgSignalHandler()+123<-skgesig_Win_UnhandledExceptionFilter()+173<-0000000077A49380<-0000000077B6573C<-0000000077AE5148<-0000000077B0554D<-0000
000077AE5D1C<-0000000077AE62EE<-000007FEFDD7AA7D<-000007FEE7E6F0BD<-000007FEE8422ED0<-000007FF001AB805<-000000000268A4B8<-00000000FFFFFC18