使用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写入数据库好用,求好用快速的批量插入。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值