码迷,mamicode.com
首页 > 数据库 > 详细

批量导入数据库

时间:2017-05-12 16:35:26      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:nal   commit   rollback   导入数据   res   option   out   cat   copy   

    public bool MsSqlBulkCopyData(DataTable dt, string connectionString)
        {
            bool result;
            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();
                    SqlTransaction trans = conn.BeginTransaction();
                    SqlBulkCopy sqlbulkCopy = new SqlBulkCopy(conn, SqlBulkCopyOptions.Default, trans);
                    sqlbulkCopy.DestinationTableName = dt.TableName;
                    sqlbulkCopy.BulkCopyTimeout = 1000;
                    foreach (DataColumn dtColumn in dt.Columns)
                    {
                        sqlbulkCopy.ColumnMappings.Add(dtColumn.ColumnName, dtColumn.ColumnName);
                    }
                    try
                    {
                        sqlbulkCopy.WriteToServer(dt);
                        trans.Commit();
                        result = true;
                    }
                    catch
                    {
                        trans.Rollback();
                        sqlbulkCopy.Close();
                        result = false;
                    }
                    finally
                    {
                        sqlbulkCopy.Close();
                        conn.Close();
                    }
                }
            }
            catch (Exception e)
            {
                this.Logger.WriteLog("-----------利用Net SqlBulkCopyData 批量导入数据库,速度超快-----------\r\n" + e.Message + "\r\n");
                result = false;
            }
            return result;
        }

 

批量导入数据库

标签:nal   commit   rollback   导入数据   res   option   out   cat   copy   

原文地址:http://www.cnblogs.com/ChineseMoonGod/p/6846048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!