SSIS 包在 Visual Studio 2010 年停滞 "Validating Excel Source"

SSIS Package stuck "Validating Excel Source" in Visual Studio 2010

我有一个季度更新包,我 运行 来自我们系统的后端,它使用 Excel(2007 格式)文档作为数据源。该包将 Excel 文档中的数据暂存到数据库中的 table 中,并在生产系统中对其进行处理和加载。

今天,我收到了 2015 年 4 月的第二季度更新,并尝试像过去一样通过 Visual Studio 将新文件 运行 放入暂存系统。但是今天由于某种原因,VS / SSIS 似乎卡住了 "Validating Excel Source"。在不得不通过任务管理器终止我的 Visual Studio 实例之前,我已经让它静置了 10 分钟。

源文档很小,比较简单,只有6栏,不到300Kb,一下子搞不懂验证问题。它似乎与我以前的 运行 版本和格式相同 excel。

这个包在一年中的大部分时间都没有改变,只需要为每个季度更改一系列参数 运行。

我已经从包中删除了连接管理器和 excel 组件并重新创建了它们,但似乎仍然存在同样的问题。我还重新创建了源文档。

我尝试禁用 DelayValidation 和 ValidateExternalMetaData 属性,希望它能给我一个有意义的错误对话,但还没有通过 "Validating Excel Source" 消息。

如有任何意见,我们将不胜感激,谢谢。

从连接管理器指向的目录中删除 excel 文件。一旦你这样做了,Excel 源的验证就会失败,因为它找不到它正在寻找的文件。这应该允许您进入包并在属性中设置 Delay Validation = True。

该程序包验证 excel 连接管理器的方式与验证任何其他 OLE DB 连接管理器的方式相同。它确认连接,然后运行您的语句以验证数据的 return。如果你拿走它的来源,它应该很快熄灭。

我发现您机器上的后台处理可以阻止此请求的验证或处理,就像 SQL 中的优先级查询一样。如果您的机器处于具有多个优先任务 运行 的状态,则此验证将被搁置一旁,并且可以而且将永远持续下去。在这种情况下,用于源的连接用于通过断开连接或超时进行验证,并且未在 UI 中处理,因此它只是挂起并锁定。

我似乎找到了解决问题的方法。

我安装的 Office 套件的最新更新似乎更改了我计算机上 Excel 的驱动程序。

以下文章帮助我解决了这个问题,但事实证明我需要重新安装 Office 2007 系统驱动程序:数据连接组件...(链接在第 2 篇文章中)

安装后,我可以重新打开我的解决方案并查看 Excel 文档。

感谢您的帮助。

Using Excel 2012 file in Excel Connection Manager

How to fix errors: "the 'microsoft.ace.oledb.12.0' provider is not registered on the local machine"