zoukankan      html  css  js  c++  java
  • dataTable写入数据库(大数据写入)

    例1:

    connectionStr,链接字符串
    dataTableName, 数据库中对应表名
    sourceDataTable DataTable 要写入数据库的DataTable
    字段要和表一致

    public static void SqlBulkCopyByDataTable(string connectionStr, string dataTableName, DataTable sourceDataTable, int batchSize = 100000)
    {
    using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionStr))
    {
    using (System.Data.SqlClient.SqlBulkCopy sqlBulkCopy = new System.Data.SqlClient.SqlBulkCopy(connectionStr,
    System.Data.SqlClient.SqlBulkCopyOptions.UseInternalTransaction))
    {
    try
    {
    sqlBulkCopy.DestinationTableName = dataTableName;
    sqlBulkCopy.BatchSize = batchSize;
    for (int i = 0; i < sourceDataTable.Columns.Count; i++)
    {
    sqlBulkCopy.ColumnMappings.Add(sourceDataTable.Columns[i].ColumnName, sourceDataTable.Columns[i].ColumnName);
    }
    sqlBulkCopy.WriteToServer(sourceDataTable);
    }
    catch (Exception ex)
    {

    throw ex;
    }
    }
    }
    }

    例2:

    1. //省略连接字符串  
    2.  SqlConnection conn = new SqlConnection(".....");  
    3.  conn.Open();  
    4.  //初始化类  
    5.  using (System.Data.SqlClient.SqlBulkCopy sqlBC = new System.Data.SqlClient.SqlBulkCopy(conn))  
    6.  {  
    7.      //获取需要导入的数据表  
    8.      DataTable dt = GetDataTable();  
    9.   
    10.      //每10W条数据一个事物  
    11.      sqlBC.BatchSize = 100000;  
    12.   
    13.      //超时时间  
    14.      sqlBC.BulkCopyTimeout = 60;  
    15.   
    16.      //表名Users  
    17.      sqlBC.DestinationTableName = "dbo.Users";  
    18.   
    19.      //字段对应,分表为原数据表字段名,和导入数据库的字段名  
    20.      sqlBC.ColumnMappings.Add("Access_ID", "MSSQL_ID");  
    21.      sqlBC.ColumnMappings.Add("Access_Name", "MSSQL_Name");  
    22.      //sqlBC.ColumnMappings.Add("Access_...", "MSSQL_...");  
    23.      //sqlBC.ColumnMappings.Add("Access_...", "MSSQL_...");  
    24.   
    25.      //导入到数据库  
    26.      sqlBC.WriteToServer(dt); 
  • 相关阅读:
    笔记:C/C++字符函数的使用
    学习游戏基础编程3:地图编辑器
    学习游戏基础编程2:Win32分割窗口
    学习游戏基础编程1:Win32自定义控件
    [WebServer] Tomcat 配置访问限制:访问白名单和访问黑名单
    [WebServer] Windows操作系统下 Tomcat 服务器运行 PHP 的环境配置
    XSLT函数集合:数值函数、字符串函、节点集函数和布尔函数
    腾讯的一道JavaScript面试题
    【转】AES 进一步的研究
    MQTT-Client-FrameWork使用整理
  • 原文地址:https://www.cnblogs.com/it-xcn/p/5889379.html
Copyright © 2011-2022 走看看