我需要向Microsoft Access数据库(accdb文件)插入大量数据(每个表大约500MB)。
我的软下载表A
来自网络,我有一个DataTable对象,其中包含表A
中的数据。使用OleDbCommand
(ADO.NET提供程序)逐行插入数据需要花费很多时间。
而且,数据库中的记录越多,插入的时间就越多。
是否有更快的插入数据的替代方法(每个命令的所有数据表)?在插入行之前,目标数据库可能有行。
问候,雅各布。
答案 0 :(得分:1)
尝试此操作以执行批量插入。更多信息:INSERT INTO Statement (Microsoft Access SQL)
var cmdText = "INSERT INTO Table1 SELECT * FROM Table2";
var command = new OleDbCommand(cmdText, connection);
command.ExecuteNonQuery();
或者您可以查看This article
注意:以上代码执行从一个 accdb 到另一个 accdb 的批量插入。但是,没有从数据集到Access的批量插入方法DB,您必须逐行插入数据。