数据导入到Access特别慢的解决办法

时间:2022-09-20 16:25:15

数据导入到Access有人说用事务,我在开发中用了事务还是特别慢,可能是因为Access数据库不支持批量执行SQL语句的原因吧,虽然微软建议使用ADO.NET操作数据库,但对于Access来说效率太差了,可有时候又迫不得已只能用Access,那么我们只用换一种操作数据库的方式了,这次用到了ADODB,虽然ADODB已经过时了,但它对数据库的直接操作还是要比封装好的ADO.NET快很多。下面是代码。

ADODB.Connection cn = new ADODB.Connection();

cn.ConnectionString = connectionString

cn.Open(connectionString, null, null, -1);

object dummy;

for (int n = 0; n < arrayList.Count; n++)

   {

     cn.Execute(arrayList[n].ToString(), out dummy, -1);

     iMin = iMin + 1;                    

    progressBar1.Value = Convert.ToInt32(iMin);

   }                

cn.Close();

我的27000多条数据使用ADO.NET用了6分多钟,使用ADODB用了不到20秒,可能是我技术不高没有领会到ADO.NET的精髓,但在实际应用中ADODB解决了我的问题,效果达到就行了!