插入的量大时,就挂掉了,1万条可以,10万条直接卡住,挂掉了以下是主要代码: 怎么回事啊
public static bool OperateDatasWithTransaction(List<string> sqlList)
        { 
            OracleConnection myConnection = new OracleConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnStrOrcl"]);
            myConnection.Open();
            OracleCommand myCommand = myConnection.CreateCommand();
            OracleTransaction myTrans;
            // Start a local transaction
            myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted);
            // Assign transaction object for a pending local transaction
            myCommand.Connection = myConnection;
            myCommand.Transaction = myTrans;
            try
            {
                foreach (string item in sqlList)
                {
                    myCommand.CommandText = item;
                    myCommand.ExecuteNonQuery();
                }
                myTrans.Commit();
                return true;
            }
            catch (Exception)
            {
                myTrans.Rollback();
                return false;
            }
            finally
            {
                myConnection.Close();
            }

解决方案 »

  1.   

    异常:System.Data.OracleClient.OracleException: ORA-01654: unable to extend index ST.SYS_C0021829 by 128 in tablespace ST
    数据库不是我弄的,这样的数据库明显有问题啊
      

  2.   

    oracle下不知道有没有类似于sql server的bcp导入功能,如果用sql语句循环插入肯定会慢
      

  3.   

    估计没什么用,因为瓶颈主要在数据库写入,循环执行sql一条一条插入本身就慢
      

  4.   

    调用十次OperateDatasWithTransaction,而不是一次完成。