一次插入大量数据

来源:互联网 发布:par rate 知乎 编辑:程序博客网 时间:2024/05/14 15:07
/// <summary>        /// DataTable批量添加(有事务)        /// </summary>        /// <param name="Table">数据源</param>        /// <param name="Mapping">定义数据源和目标源列的关系集合</param>        /// <param name="DestinationTableName">目标表</param>        public static bool MySqlBulkCopy(DataTable Table, SqlBulkCopyColumnMapping[] Mapping, string DestinationTableName)        {            bool Bool = true;            using (SqlConnection con = new SqlConnection(ConnectionString))            {                con.Open();                using (SqlTransaction Tran = con.BeginTransaction())                {                    using (SqlBulkCopy Copy = new SqlBulkCopy(con,SqlBulkCopyOptions.KeepIdentity,Tran))                    {                        Copy.DestinationTableName = DestinationTableName;//指定目标表                        if (Mapping != null)                        {                            //如果有数据                            foreach (SqlBulkCopyColumnMapping Map in Mapping)                            {                                Copy.ColumnMappings.Add(Map);                            }                        }                        try                        {                            Copy.WriteToServer(Table);//批量添加                            Tran.Commit();//提交事务                        }                        catch                        {                            Tran.Rollback();//回滚事务                            Bool = false;                        }                    }                }            }            return Bool;        }

以上是 大数据 转移,一次插入大量数据!

注:摘自论坛 ID: MSDNXGH  !