批量从c#插入访问数据库?

时间:2011-01-10 12:26:40

标签: c# ms-access

我该怎么做?我在Excel文件中有大约10000条记录 ,我想尽快将所有记录插入到访问数据库中?

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

你可以做的是这样的事情:

    Dim AccessConn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Test Files\db1 XP.mdb") 
    AccessConn.Open() 
    Dim AccessCommand As New System.Data.OleDb.OleDbCommand("SELECT * INTO [ReportFile] FROM [Text;DATABASE=C:\Documents and Settings\...\My Documents\My Database\Text].[ReportFile.txt]", AccessConn) 
    AccessCommand.ExecuteNonQuery() 
    AccessConn.Close() 

在开始加载之前关闭受影响表的索引,然后在批量加载完成后从头开始重建索引。从头开始重建索引要比在将大量数据加载到表中时更新它们更快。

如果您选择逐行插入,那么可能需要考虑使用事务。比如,打开事务,插入1000条记录,提交事务。这应该可以正常工作。

答案 1 :(得分:0)

使用Access中的默认数据导入功能。如果这不符合您的需求并且您想使用C#,请使用标准ADO.NET并简单地写入记录。 10K记录不应该花太长时间。