我有五个线程。他们同时在同一张表 (EXCEL_DATA)中执行OracleBulkCopy (每条记录 100 万条记录)。但是在某个时间点,我遇到了以下错误:
ORA-00604: 递归 SQL 级别 1 发生错误 ORA-00054: 资源繁忙并使用指定的 NOWAIT 获取
我正在为 OracleBulkCopy 使用以下代码:
using (OracleConnection con = new OracleConnection(ConnectionString))
{
con.Open();
using (var bulkcopy = new OracleBulkCopy(con, options))
{
OracleTransaction tran =
con.BeginTransaction(IsolationLevel.ReadCommitted);
bulkcopy.DestinationTableName = DestinationTable;
foreach (var mapping in columnMappings)
bulkcopy.ColumnMappings.Add(mapping);
bulkcopy.BulkCopyTimeout = TimeOut.Value;
try
{
bulkcopy.WriteToServer(dataTable);
tran.Commit();
}
catch (Exception ex)
{
tran.Rollback();
}
}
}