如何将大量数据插入数据库

时间:2016-08-05 13:12:54

标签: c# ms-access bigdata database

我在 C#中有一个程序,它从4个来源(2个excel表,oracle和访问数据库)下载数据并相互计算。在结果中我有一些很大的结果,我将结果保存在List中。结果中的行数大约等于120.000。一行大约10MB。结果将插入到访问数据库中。

如何将此列表插入我的数据库?有人能举个例子吗?

现在我逐行将行插入表中。这花了我大约3个小时。

1 个答案:

答案 0 :(得分:2)

使用某种批量插入物。如果你的使用实体框架与你的db这样的东西是你需要的。最大限度地延长超时时间。

 using (var transactionScope = new System.Transactions.TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
            {
                try
                {
                    ctx.BulkInsert(productsToSync, new BulkInsertOptions()
                    {
                        TimeOut = 10 * 60 * 1000
                    });
                    await ctx.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    SystemLogManager.AddDataSyncErrorLog(ex);
                }
                finally
                {
                    transactionScope.Complete();
                }
            }