超时已过期SqlBulkCopy

.net asp.net sql sqlbulkcopy sql-server

我正在使用SqlBulkCopy从xml备份中恢复表。其中一个表备份大约200MB,并且有很多记录。

我有错误:

Timeout expired.
The timeout period elapsed prior to completion of the operation or the server
is not responding.

一般承认的答案

您可能需要增加超时。尝试从默认值30秒增加sqlBulkCopy.BulkCopyTimeout的值。


热门答案

有两种方法可以解决此错误:

  • 默认情况下,增加超时为30秒,0表示无限。

       sqlBulkCopy.BulkCopyTimeout = {time in seconds}
    
  • 默认情况下,减少BatchSize会尝试在一个批处理中插入所有行

        sqlBulkCopy.BatchSize  = {no of rows you want to insert at once}
    

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.batchsize.aspx http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy .bulkcopytimeout.aspx




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因