2013-07-22 130 views
2

我需要向Microsoft Access數據庫(accdb文件)插入大量數據(每個表約500MB)。
我的軟件下載表A從網上,我有一個DataTable對象與表A的數據。使用OleDbCommand(ADO.NET提供程序)逐行插入數據需要很長時間。更重要的是,數據庫中的記錄越多,插入需要的時間就越多。

有沒有其他方法可以更快速地插入數據(每個命令的所有數據表)?在插入我的行之前,目標數據庫可能有行。批量插入數據表MSAccess(MSExcel)數據庫(C#)

問候,Jakob。

+0

我試過插入數據的DAO。它速度更快,但會影響限制。 OleDB更方便,但現在速度對我來說是重中之重。 –

回答

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數據庫,您將不得不逐行插入數據。

+0

謝謝凱爾。可悲的是,這並沒有解決我的問題。 –

+0

@Matjanos我相信你的情況唯一的方法是逐行插入數據 – Rohit