C# 事务作用域中的表适配器更新保持超时

C# 事务作用域中的表适配器更新保持超时,c#,.net-3.5,transactions,strongly-typed-dataset,C#,.net 3.5,Transactions,Strongly Typed Dataset,所以我有一个类型化的数据集,我已经从另一个数据库(超过500000条记录!)中为它创建了记录。我需要将所有这些记录导入另一个数据库,并具有以下代码(减去初始化、添加行等): 控制台输出以下内容: Time to process of adding to table: Start at 1/1/2009 2:05:59 PM | End at 5/18/2011 2:06:30 PM The thread '<No Name>' (0xa5c) has exited with code

所以我有一个类型化的数据集,我已经从另一个数据库(超过500000条记录!)中为它创建了记录。我需要将所有这些记录导入另一个数据库,并具有以下代码(减去初始化、添加行等):

控制台输出以下内容:

Time to process of adding to table: Start at 1/1/2009 2:05:59 PM | End at 5/18/2011 2:06:30 PM
The thread '<No Name>' (0xa5c) has exited with code 0 (0x0).
The thread '<No Name>' (0x2e4) has exited with code 0 (0x0).
The thread '<No Name>' (0xae0) has exited with code 0 (0x0).
A first chance exception of type 'System.Transactions.TransactionAbortedException' occurred in System.Transactions.dll
添加到表中的处理时间:从2009年1月1日下午2:05:59开始到2011年5月18日下午2:06:30结束
线程“”(0xa5c)已退出,代码为0(0x0)。
线程“”(0x2e4)已退出,代码为0(0x0)。
线程“”(0xae0)已退出,代码为0(0x0)。
System.Transactions.dll中发生类型为“System.Transactions.TransactionBortedException”的首次意外异常
它抛出一个异常,内部异常为“事务超时”。事务已过期,因此我将超时设置为1小时,但在15分钟内仍然超时。发生什么事了

最后的处理时间是下午2:19:40,运行大约需要15分钟。我怎么会有这个例外?我在控制台上看到了三个线程,但这是一个空白项目中的一张白板。所有其他连接都与外部数据源关闭,当我进行更新时,剩下的就是表适配器和表对象

--编辑--
Machine.config没有maxTimeout属性的任何设置

异常可能有各种原因。可能您的实际SQL连接超时了?当您的表需要重新组织时可能会发生这种情况(这里只是猜测)

作为一个侧节点,您看过SqlBulkCopy吗?()->>使您能够使用另一个源的数据高效地大容量加载SQL Server表


根据我的经验,这个速度非常快。

我只是将它分为六个月的加载期,效果很好,所以我得到了数据。我只是想知道如何处理如此大量的数据。如果在事务范围中没有这个选项,它会运行得更快,并且不会遇到这个问题,但是如果其中一行遇到数据集不知道它是何时构建的检查约束,我想停止它。至于批量复制,我还没有考虑过这一点,并将着眼于未来的使用。我插进去的那张桌子是空的。
Time to process of adding to table: Start at 1/1/2009 2:05:59 PM | End at 5/18/2011 2:06:30 PM
The thread '<No Name>' (0xa5c) has exited with code 0 (0x0).
The thread '<No Name>' (0x2e4) has exited with code 0 (0x0).
The thread '<No Name>' (0xae0) has exited with code 0 (0x0).
A first chance exception of type 'System.Transactions.TransactionAbortedException' occurred in System.Transactions.dll