使用MySqlBulkLoader批量導入問題

之前做Sqlserver做批量插入(SqlBulkCopy),感覺很方便啊,想着Mysql應該也有這東西,然後網上很多。

組裝datatable,轉成csv,保存到臨時文件,然後用這個文件來入庫。

測試代碼:

public static int BulkInsert(MySqlConnection conn, DataTable table)
        {
            var Columns = table.Columns.Cast<DataColumn>().Select(a => a.ColumnName).ToList();

            MySqlBulkLoader BulkLoader = new MySqlBulkLoader(conn)
            {
                FieldTerminator = ",",
                FieldQuotationCharacter = '"',
                EscapeCharacter = '"',
                LineTerminator = "\r\n",
                FileName = @"D:\temp\1.tmp",
                NumberOfLinesToSkip = 0,
                TableName = table.TableName
            };

            BulkLoader.Columns.AddRange(Columns);
            return BulkLoader.Load();
        }

看着很簡單,但是有個問題,一直提示找不到文件D:\temp\1.tmp(代碼和數據庫非同一臺電腦),之前用過Sqlserver用文件寫命令導入數據過,然後想起文件必須是在數據庫服務器上。然後把文件D:\temp\1.tmp複製到本地測試服務器上,的確是這樣,必須在數據庫服務器上。還是沒Sqlserver直接把Datatable寫入數據庫好用,求好用快速的批量插入。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章