zoukankan      html  css  js  c++  java
  • Mysql的批量导入类 MySqlBulkLoader

    在mssqlserver 中 对应的SqlBuckCopy类,进行批量数据插入。

    在mysql 中,官方提供了MySqlBulkLoader 平行的工具;

    不过里面有坑,具体坑是插入空值列 NULL的。

    For input, if the FIELDS ESCAPED BY character is not empty, occurrences of that character are stripped and the following character is taken literally as part of a field value. Some two-character sequences that are exceptions, where the first character is the escape character. These sequences are shown in the following table (using  for the escape character). The rules for NULLhandling are described later in this section.

    CharacterEscape Sequence
    An ASCII NUL (X'00') character
     A backspace character
    A newline (linefeed) character
    A carriage return character
    A tab character.
     ASCII 26 (Control+Z)
    N NULL

    在 MySql.Data.dll 提供的驱动中,使用 N  字符并未将NULL列插入。应该使用关键词 NULL  进行空值的代表。

     //tran = conn.BeginTransaction();  
                        MySqlBulkLoader bulk = new MySqlBulkLoader(conn)  
                        {  
                            FieldTerminator = ",",  
                            FieldQuotationCharacter = '"',  
                            EscapeCharacter = '"',  
                            LineTerminator = "
    ",  
                            FileName = tmpPath,  
                            NumberOfLinesToSkip = 0,  
                            TableName = table.TableName,  
                        };  
                        //bulk.Columns.AddRange(table.Columns.Cast<DataColumn>().Select(colum => colum.ColumnName).ToArray());  
                        insertCount = bulk.Load();  
    

      

    具体资料:

    https://dev.mysql.com/doc/connector-net/en/connector-net-programming-bulk-loader.html

    https://dev.mysql.com/doc/refman/5.7/en/load-data.html

    http://blog.csdn.net/zhou2s_101216/article/details/50875211

    https://dev.mysql.com/doc/refman/5.7/en/load-data.html

  • 相关阅读:
    jquery处理鼠标左中右键事件
    bootstrap弹出框
    移动端去掉a标签点击时出现的背景
    sessionStorage
    页面滑动到最下面,执行代码
    判断页面时向上滚动还是向下滚动
    sql 时间查询 /sql中判断更新或者插入/查询一年所有双休日
    求取最大值
    Repeater 获取数据值
    加载完毕后执行计算
  • 原文地址:https://www.cnblogs.com/micro-chen/p/6941297.html
Copyright © 2011-2022 走看看