ssis excel source无法在DESIGN时获取连接管理器

时间:2010-09-28 14:04:28

标签: 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文件。这可能是个问题吗?

我还应该提一下,程序包运行没有任何问题,所以它只是“编辑/更改”不起作用的程序包。目前,我通过禁用应该更改的数据流来解决此问题,并将其替换为硬编码的sql语句,将来自excel的数据插入到目标表中。 也许还有另外一个值得一提的事情:我可以创建一个新的包并添加和更改excel源没有问题,但是当我尝试在我的包中复制这个excel源时,我无法编辑它。

2 个答案:

答案 0 :(得分:3)

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

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

微米。

答案 1 :(得分:1)

我不确定这是否可行但是在BIDS / VS的 SSIS 菜单中尝试脱机工作选项。这应该做的是 not 在编辑组件之前验证连接。它可能会让你进入组件。