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/

  • 相关阅读:
    Linux中常用的关机和重新启动命令
    Ubuntu 7.10 J2EE开发环境lomboz+eclipse3.2.1+tomcat5.5.25+mysql5.
    Linux+Apache+JSP+PHP+MySQL
    SMSLib的配置
    Python正则表达式操作指南
    Ubuntu学习笔记:通过ssh远程登录服务器
    C语言文件读写:语言初学者入门讲座 第十六讲 文件
    linuxfopenfclosefreadfwrite等函数
    linux 下 scp 的用法
    wget3
  • 原文地址:https://www.cnblogs.com/spring_wang/p/3074017.html
Copyright © 2011-2022 走看看