zoukankan      html  css  js  c++  java
  • C#批量保存方法利用Net SqlBulkCopy 批量导入数据库,速度超快通用方法源码提供

    #region public void SqlBulkCopyData(DataTable dataTable) 利用Net SqlBulkCopy 批量导入数据库,速度超快
            /// <summary>
            /// 利用Net SqlBulkCopy 批量导入数据库,速度超快
            /// </summary>
            /// <param name="dataTable">源内存数据表</param>
            public void SqlBulkCopyData(DataTable dataTable)
            {
                // SQL 数据连接
                SqlConnection sqlConnection = null;
                // 打开数据库
                this.Open();
                // 获取连接
                sqlConnection = (SqlConnection)GetDbConnection();
                using (SqlTransaction tran = sqlConnection.BeginTransaction())
                {
                    // 批量保存数据,只能用于Sql
                    SqlBulkCopy sqlbulkCopy = new SqlBulkCopy(sqlConnection, SqlBulkCopyOptions.Default, tran);
                    // 设置源表名称
                    sqlbulkCopy.DestinationTableName = dataTable.TableName;
                    // 设置超时限制
                    sqlbulkCopy.BulkCopyTimeout = 1000;

                    foreach (DataColumn dtColumn in dataTable.Columns)
                    {
                        sqlbulkCopy.ColumnMappings.Add(dtColumn.ColumnName, dtColumn.ColumnName);
                    }
                    try
                    {
                        // 写入
                        sqlbulkCopy.WriteToServer(dataTable);
                        // 提交事务
                        tran.Commit();
                    }
                    catch
                    {
                        tran.Rollback();
                        sqlbulkCopy.Close();
                    }
                    finally
                    {
                        sqlbulkCopy.Close();
                        this.Close();
                    }
                }
            }
            #endregion

    作者:王春天 地址:http://www.cnblogs.com/spring_wang/

  • 相关阅读:
    洛谷P4304 [TJOI2013]攻击装置 题解
    洛谷P2172 [国家集训队]部落战争 题解
    CentOS 7.0下配置MariaDB数据库
    读《深入php面向对象、模式与实践》有感(三)
    读《深入php面向对象、模式与实践》有感(二)
    读《深入php面向对象、模式与实践》有感(一)
    Linux下配置Lamp
    自己编写php框架(一)
    php读取html文件(或php文件)的方法
    Thinkphp框架感悟(二)
  • 原文地址:https://www.cnblogs.com/spring_wang/p/3074017.html
Copyright © 2011-2022 走看看