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

  • 相关阅读:
    NSURLConnection和Runloop(面试)
    文件的上传
    CentOS 7防火墙快速开放端口配置方法
    国内常用源镜像地址:
    yum安装zabbix-web-mysql出现[Errno 256] No more mirrors to try.
    1251-Client does not support authentication protocol requested by server; consider upgrading MySQL client。
    http代理和SOCKS代理的区别
    windows下redis安装
    centeros7安装mysql
    nginx配置负载均衡分发服务器笔记
  • 原文地址:https://www.cnblogs.com/micro-chen/p/6941297.html
Copyright © 2011-2022 走看看