zoukankan      html  css  js  c++  java
  • SqlBulkCopy高效写入数据库Demo

    1 /// <summary>
    2 /// 利用SqlBulkCopy实现从excel到sql表的数据导入
    3 /// </summary>
    4 /// <param name="tableName">数据源</param>
    5 /// <param name="destinTable">目的表</param>
    6 public void SqlBulkCopyInsert(DataTable tableName, string destinTable, SqlConnection conn, bool flag)
    7 {
    8   SqlBulkCopy sbc = new SqlBulkCopy(conn);
    9     
    10   if (conn.State == ConnectionState.Closed)
    11   {
    12     conn.Open();
    13   }
    14   sbc.DestinationTableName = destinTable;                 //获取要导入的目的数据表
    15   try
    16   {
    17     sbc.WriteToServer(tableName);                  //执行写入操作
    18   }
    19   catch (Exception ex)
    20   {
    21     Console.WriteLine(ex.Message);
    22   }
    23   finally
    24   {
    25     sbc.Close();
    26     if (flag)
    27     {
    28       conn.Close();
    29     }
    30   }
    31 }

     

    其实代码很简单,最犀利的一句就是WriteToServer(tableName)。这个不解释啊,10000...记得是一百万条数据写入库中只要4秒多。。。要注意的就是待写入的数据集的字段格式要和数据库中的目的数据表的字段格式相同,说了半天就是表的框架和内容要完全一样,才可以写入。。。写入那叫一个快,一个哦~缺点是写入前的数据判断和过滤,逼近省事就意为着费功。

  • 相关阅读:
    求一个数的阶乘在 m 进制下末尾 0 的个数
    区间dp
    最长公共子序列变形
    学习stm32专区
    C/C++中static关键字详解
    ASP.NET调用Office Com组件权限设置
    TreeView控件
    SQL笔记(1)索引/触发器
    NPOI 1.2.5 教程
    SQL Povit
  • 原文地址:https://www.cnblogs.com/yalong_xiang/p/1937142.html
Copyright © 2011-2022 走看看