• SqlBulkCopy 类


    1.SqlBulkCopy 简介 

    Microsoft SQL Server 提供一个称为 bcp 的流行的命令提示符实用工具,用于将数据从一个表移动到另一个表(表既可以在同一个服务器上,也可以在不同服务器上)。SqlBulkCopy 类允许编写提供类似功能的托管代码解决方案。还有其他将数据加载到 SQL Server 表的方法(例如 INSERT 语句),但相比之下 SqlBulkCopy 提供明显的性能优势。

    使用 SqlBulkCopy 类只能向 SQL Server 表写入数据。但是,数据源不限于 SQL Server;可以使用任何数据源,只要数据可加载到 DataTable 实例或可使用 IDataReader 实例读取数据。

    2.SqlBulkCopy 属性

    3.SqlBulkCopy 方法

    4.SqlBulkCopy 示例

      public bool ExecuteSqlBulkCopy()
            {
                string _strConn = "";
                string _sqlTableName = "T_User";    //服务器表名
    
                DataTable _table = new DataTable(); //映射表
                _table.Columns.Add("uName");
                _table.Columns.Add("uAge");
    
                //填充数据
                for (int i = 0; i < 3; i++)
                {
                    DataRow _row = _table.NewRow();
                    _row["uName"] = "姓名" + i;
                    _row["uAge"] = "年龄" + i;
                }
    
                try
                {
                    using (SqlConnection conn = new SqlConnection(_strConn))
                    {
                        conn.Open();
                        using (SqlTransaction tran = conn.BeginTransaction())
                        {
                            using (SqlBulkCopy sbc = new SqlBulkCopy(conn, SqlBulkCopyOptions.Default, tran))
                            {
                                sbc.BatchSize = 500;  //每一批次中的行数,每一批次结束时,让该批次中的行发送到服务器
                                sbc.BulkCopyTimeout = 600; //超时之前操作完成所允许的秒数
                                sbc.DestinationTableName = _sqlTableName;//服务器上的表名称
    
                                //映射表和服务器表做关联映射
                                foreach (DataColumn col in _table.Columns)
                                {
                                    sbc.ColumnMappings.Add(col.ColumnName, col.ColumnName);
                                }
                                //复制数据
                                sbc.WriteToServer(_table);
                                //提交事物
                                tran.Commit();
                                return true;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return false;
                }
            }
  • 相关阅读:
    css3转换
    JavaScript函数
    JavaScript数组
    JavaScript流程控制
    JavaScript数据类型、运算
    css3响应布局
    css3渐变、背景、过渡、分页
    css3初识
    CSS3选择器
    H5拖拽、绘画、web存储
  • 原文地址:https://www.cnblogs.com/mingxuantongxue/p/4010771.html
Copyright © 2020-2023  润新知