ssis excel 源在设计时无法获取连接管理器

Han*_*s V 5 excel ssis

我有一个 SSIS(超级)包,它由几个(大约)40 个包组成,每个包都有几个数据流任务,其中大多数将一些 excel 数据加载到 sqlserver 数据库。所以我有几个 excel 源连接管理器,每个 excel 文件一个。直到最近这一直工作正常:我必须更改我的一个包中的 excel 源(在 excel 中添加了一列,必须加载到目标 sqlserver 表中)但我无法在 SSIS 中编辑 excel 源:当我点击“列”我得到一个错误框“DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER”。所以这是一个设计时问题,而不是运行时问题。我在stackoverflow上看到过这样的问题,但没有答案。有人有想法吗?

  • 我已经在我的机器上删除了 office 2007 并重新安装了 office 2003,但这没有帮助
  • 它与 64 位模式无关,我在这里读过
  • ssis 中的连接管理器数量有限制吗?
  • 我的大多数连接管理器都是通过复制/粘贴创建的,因此它们具有相同的 Id,尽管它们指向不同的 excel 文件。这可能是个问题吗?

我还应该提到包运行没有任何问题,所以它只是“编辑/更改”不起作用的包。目前,我通过禁用应该更改的数据流并用硬编码将数据从 excel 插入目标表的 sql 语句替换它来规避这个问题。也许另一件有趣的事情要提到:我可以创建一个新包并添加和更改 excel 源,而不会出现问题,但是再次,当我尝试将这个 excel 源复制到我的包中时,我无法编辑它。

小智 3

您是否尝试检查源连接上的高级选项?右键单击该组件并选择“显示高级编辑器...”选择列映射选项卡并按刷新按钮。

这应该指出 XLS 连接具有一些附加列,或者您指向的文件无法在运行时预先验证。

M。