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/

  • 相关阅读:
    关于泛型
    共享几个.net工具类
    关于Guid
    自动更新解决方案
    订阅者模式实例
    好久没有blog了,今日就share一个update program的经验
    杀掉相应数据库的进程
    解决IFrame下无法写Cookie问题
    sql处理死锁
    log4net配置及使用方法
  • 原文地址:https://www.cnblogs.com/spring_wang/p/3074017.html
Copyright © 2011-2022 走看看