SSIS 包 - 在 Excel 连接中保留相同的连接 属性

SSIS Package- Retain Same Connection Property in Excel Connection

我正在使用 SSDT 2017。有 3 个数据流任务(它们使用优先约束连接) 将数据从 Excel 加载到数据库表中。当我 运行 每个任务单独显示为成功时,但当我 运行 整个包时,它显示为已完成,任务上没有任何绿色勾号,这意味着任务没有被执行。在我将 Excel 的 RetainSameConnection 属性 更改为 True 后,所有任务都已成功完成。

我在早期版本中没有看到这种行为。这是 2017 版本的新变化还是我遗漏了什么?

正在尝试找出问题所在

根据问题和评论,您正在使用 3 个数据流任务,其中包含 3 个使用相同连接管理器的 Excel 源组件。

在验证阶段包执行开始时,每个组件尝试都必须从连接管理器获取连接以读取元数据并尝试保持此连接打开直到它必须被执行并且因为那里有很多文件试图打开同一个连接会导致问题。

当使用RetainSameConnection包运行一次acquireconnection方法多次使用,问题就解决了。

尝试一下

尝试将 Delay Validation 属性 更改为 True,并将 ValidateExternalMetadata 属性 更改为 False 每个 Excel Source所有数据流任务,如果仅出于验证目的获取连接,则可能会解决问题。如果不行则说明即使数据流任务执行还没有开始,调用acquire连接方法锁定文件读取。