Mysql的批量导入类 MySqlBulkLoader

Posted MicrobeORM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
\0 An ASCII NUL (X‘00‘) character
\b A backspace character
\n A newline (linefeed) character
\r A carriage return character
\t A tab character.
\Z ASCII 26 (Control+Z)
\N NULL

 

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

 

 //tran = conn.BeginTransaction();  
                    MySqlBulkLoader bulk = new MySqlBulkLoader(conn)  
                    {  
                        FieldTerminator = ",",  
                        FieldQuotationCharacter = ‘"‘,  
                        EscapeCharacter = ‘"‘,  
                        LineTerminator = "\r\n",  
                        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

 

以上是关于Mysql的批量导入类 MySqlBulkLoader的主要内容,如果未能解决你的问题,请参考以下文章

批量向MySQL导入1000万条数据的优化

csv批量导入mysql命令

162100网址导航3号源码v9.3.4-智能采集-批量导入网址

数据分析之MySQL——批量导入数据

mysql 批量导入数据

mysql 如何提高批量导入的速度