在devise时,ssis excel源码无法获取连接pipe理器

我有一个SSIS(super)包,它由几个(大约)40个包组成,每个包都有几个数据stream任务,其中大多数将一些excel数据加载到sqlserver数据库。 所以我有几个excel源连接pipe理器,每个excel文件一个。 这直到最近一直工作得很好:我必须改变我的一个包中的excel源文件(在excel中添加了一个列,必须在目标sqlserver表中加载),但是我不能在SSIS中编辑excel源代码:when我点击“列”我得到一个错误框“DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER”。 所以这是一个devise时间问题,而不是运行时问题。 我已经看到了这样的一个问题在stackoverflow但没有答案。 任何人有一个想法?

  • 我已经删除了Office 2007,并在我的机器上重新安装了Office 2003,但是这并没有帮助
  • 这与我在这里读到的64位模式没有任何关系
  • ssis中的连接pipe理器的数量有限制吗?
  • 我的大多数连接pipe理员都是使用复制/粘贴创build的,因此他们拥有相同的ID,尽pipe他们指向了不同的Excel文件。 这可能是一个问题吗?

我还应该提到这个软件包运行没有任何问题,所以它只是“编辑/改变”不起作用的软件包。 目前,我通过禁用应该改变的数据stream来避免这个问题,并用一个硬编码的sql语句replace它,将excel中的数据插入到目标表中。 也许还有另外一个值得一提的地方:我可以创build一个新的包,并且可以毫无问题地添加和更改excel源代码,但是当我试图在我的包中复制这个excel源文件时,我不能编辑它。

您是否尝试检查源连接上的高级选项? 右键单击组件并select“显示高级编辑器…”select列映射选项卡,然后按刷新button。

这应该指出,XLS连接有一些额外的列,或者您指向的文件不能在运行时进行预先validation。

M.

我不知道这是否会工作,但在BIDS / VS的SSIS菜单中尝试脱机工作选项。 在编辑组件之前,应该做的不是validation连接。 它可能能够让你进入组件。