如何增加连接超时时间?

时间:2015-07-30 06:39:24

标签: sql-server entity-framework

我正在使用Entity Framework Bulk Insert extension,因为我必须在我的数据库中插入几百万行。

        using (var context = new MyDBContext())
        {
            context.Database.CommandTimeout = 36000; // has no effect
            using (var tx = new System.Transactions.
                TransactionScope(TransactionScopeOption.Required, new TimeSpan(0,2,0,0)))
            {
                context.BulkInsert(entities);

起初我在作业运行一分钟后收到错误,这导致我尝试增加事务范围的超时,我设置为两小时。之后我开始得到一个不同的错误:

  

System.Data.Entity.Core.EntityCommandExecutionException:执行命令定义时发生错误。有关详细信息,请参阅内部异常   ---- System.InvalidOperationException:无效的操作。连接已关闭。

10分钟后开心了,所以我尝试将CommandTimeout设置为1小时,但这似乎没有什么区别,因为我在10分钟后仍然会收到错误。

1 个答案:

答案 0 :(得分:0)

您还应该在MSSQL中配置Timeout。使用SSMS,选择您的数据库引擎>右键单击>属性>连接>远程服务器连接>远程查询超时设置为0无限时间或3600一小时。