#region 使用SqlBulkCopy public static bool ExecuteTransactionScopeInsert(DataTable dt, int batchSize) { int count = dt.Rows.Count; string tableName = "TestTable"; int copyTimeout = 600; bool flag = false; try { using (SqlConnection cn = new SqlConnection(connectionString)) { using (TransactionScope scope = new TransactionScope()) { cn.Open(); using (SqlBulkCopy sbc = new SqlBulkCopy(cn)) { //服务器上目标表的名称 sbc.DestinationTableName = tableName; sbc.BatchSize = batchSize; sbc.BulkCopyTimeout = copyTimeout; for (int i = 0; i < dt.Columns.Count; i++) { //列映射定义数据源中的列和目标表中的列之间的关系 sbc.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName); } sbc.WriteToServer(dt); flag = true; scope.Complete();//有效的事务 } } } } catch (Exception ex) { LogHelper.Error(ex.Message); return false; } return flag; } #endregion#region 使用SqlBulkCopy public static bool 你的当前访问异常,请进行认证后继续阅读剩余内容。 提交