MySqlBulkLoader 使用 DataTable 而不是文件

Posted

技术标签:

【中文标题】MySqlBulkLoader 使用 DataTable 而不是文件【英文标题】:MySqlBulkLoader using a DataTable instead of a file 【发布时间】:2015-04-22 05:33:24 【问题描述】:

我正在为我的程序提供 mysql 兼容性,该程序以前只能与 SQL Server 一起使用。我使用了SqlBulkCopy,我也想将它与 MySql 一起使用。我知道有MySqlBulkLoader 可以用来执行相同的任务。然而,不同之处在于SqlBulkCopyDataTable 一起工作,所以我准备了我的DataTable,然后执行了复制。据我所知,MySqlBulkLoader 用于将整个文件复制到数据库中。但我不是在这里处理文件,我宁愿跳过将我的DataTable 转换为临时文件、执行 BulkCopy 然后删除临时文件的额外步骤。

有没有办法让MySqlBulkLoaderDataTables 一起工作? MySqlBulkLoader 有没有值得信赖的替代品?

【问题讨论】:

【参考方案1】:

我假设您使用的是 MySql Connector/NET,但它是哪个版本的?

假设您使用的是最新版本(当前为 8.0),查看MySQL Connector/NET 8.0 API Reference 表明除了从现有文件导入数据之外别无选择。

似乎您提出的方法是唯一的解决方法......

【讨论】:

以上是关于MySqlBulkLoader 使用 DataTable 而不是文件的主要内容,如果未能解决你的问题,请参考以下文章

MySqlBulkLoader后数据库出现0000-00-00 00:00:00数据问题

数据库MySqlBulkLoader——批量导入

MySqlBulkLoader 中文乱码

Mysql的批量导入类 MySqlBulkLoader

利用MySqlBulkLoader生成csv文件,批量添加数据

批量插入数据, 将DataTable里的数据批量写入数据库的方法