SqlBulkCopy.BulkCopyTimeout属性

Geo*_*ge2 5 .net c# bulkinsert sql-server-2008

我正在使用VSTS 2008 + C#+ .Net 3.5 + ADO.Net开发一个控制台应用程序来进行批量插入复制.

我想使用批量插入批处理和批量插入超时属性.对于BulkCopyTimeout属性,我很困惑,想知道它是否适用于整个批量或仅适用于每批批量?

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

乔治,提前谢谢

mar*_*c_s 8

在Web上搜索和阅读一些博客帖子和论坛帖子似乎表明SqlBulkCopyTimeout实际上并不适用于整个操作,而是适用于操作中的每个批次.

MSDN文档对此并不完全清楚,但大多数帖子似乎表明超时适用于批处理.在大多数情况下,减小批量大小和/或增加SqlBulkCopyTimeout似乎是超时问题的解决方案.

以此论坛帖子为例.


Abd*_*oor 5

BulkCopyTimeout:默认为 30 秒

sqlBulkCopy.BulkCopyTimeout = {time in seconds for one batch}
Run Code Online (Sandbox Code Playgroud)

BatchSize:默认整个数据源为一批

sqlBulkCopy.BatchSize  = {no of rows you want to insert at once}
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅此链接:SqlBulkCopy 超时

我们收到此异常“超时已过期”。如果应用程序无法在 30 秒内插入数据源。