当多个线程同时访问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