小编Jon*_*han的帖子

批量复制异步

我有很多数据表可批量插入数据库表中。由于尺寸较大,一张表需要5分钟才能完成插入。2张桌子花了我10分钟

static void Main(string[] args)
{
    DataTableBulkInsert(DataTable1);
    DataTableBulkInsert(DataTable2);
}

public static void DataTableBulkInsert(DataTable Table){
    SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(myConnection);
    sqlBulkCopy.DestinationTableName = "dbo.DatabaseTable";
    myConnection.Open();                    
    sqlBulkCopy.WriteToServer(Table);
    myConnection.Close();
}
Run Code Online (Sandbox Code Playgroud)

我现在正在尝试对批量插入执行异步操作,但是既没有插入任何数据,也没有给我错误。如何捕获异常?

static void Main(string[] args)
{
     var insert1 = Task.Run(async () => await DataTableBulkInsert(DataTable1);
     var insert2 = Task.Run(async () => await DataTableBulkInsert(DataTable2);
     Task.WhenAll( insert1, insert 2);
}

public static async Task<Boolean> DataTableBulkInsert(DataTable Table)
{
      try
      {
          SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(myConnection);
          sqlBulkCopy.DestinationTableName = "dbo.DatabaseTable";
          myConnection.Open();                    
          await sqlBulkCopy.WriteToServerAsync(Table);
          myConnection.Close();
      }
      catch (Exception (e))
      {
        console.write(e); …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous sqlbulkcopy

2
推荐指数
1
解决办法
4447
查看次数

标签 统计

asynchronous ×1

c# ×1

sqlbulkcopy ×1