我在SSIS中使用foreach循环来迭代文件夹的内容,为每个文件执行SQL任务。
当我这样做时,它通过循环在前300次正常工作,然后它挂起并说:
Error: 0xC002F210 at ______, Execute SQL Task: Executing the query "[__].[dbo].[_______]"
failed with the following error: "Timeout expired. The timeout period elapsed prior to
obtaining a connection from the pool. This may have occurred because all pooled connections
were in use and max pool size was reached.". Possible failure reasons: Problems with the
query, "ResultSet" property not set correctly, parameters not set correctly, or connection not
established correctly.
我想这意味着旧任务关闭得太慢了?真正的踢球者是,如果我然后添加另一个SQL任务(在tmp表中插入空白字符串,使用相同的连接)之前失败的任务,整个过程将正常工作。这不是一个好的解决方案,我希望弄清楚是否有一个已知的解决方法或我是否做了非常愚蠢的事情。
答案 0 :(得分:4)
连接管理器中有一个选项可以重用现有连接。也许更改此设置会有所帮助。
选择连接管理器的属性,并将RetainSameConnection属性设置为True。