我有一个SSIS(超级)软件包,它包含几个(大约)40个软件包,每个软件包都有几个数据流任务,其中大多数都将一些excel数据加载到sqlserver数据库。所以我有几个excel源连接管理器,每个excel文件一个。 这一直一直运行到最近:我必须在我的一个软件包中更改一个excel源(在excel中添加了一个列,必须在目标sqlserver表中加载)但是我无法在SSIS中编辑excel源:我点击“列”我收到一个错误框“DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER”。所以这是一个设计时问题,而不是运行时问题。我在stackoverflow上看过像这样的问题,但没有答案。有人有想法吗?
我还应该提一下,程序包运行没有任何问题,所以它只是“编辑/更改”不起作用的程序包。目前,我通过禁用应该更改的数据流来解决此问题,并将其替换为硬编码的sql语句,将来自excel的数据插入到目标表中。 也许还有另外一个值得一提的事情:我可以创建一个新的包并添加和更改excel源没有问题,但是当我尝试在我的包中复制这个excel源时,我无法编辑它。
答案 0 :(得分:3)
您是否尝试检查源连接上的高级选项? 右键单击该组件,然后选择“显示高级编辑器...” 选择列映射选项卡,然后按“刷新”按钮。
这应该指出XLS连接有一些额外的列,或者您指向的文件无法在运行时预先验证。
微米。
答案 1 :(得分:1)
我不确定这是否可行但是在BIDS / VS的 SSIS 菜单中尝试脱机工作选项。这应该做的是 not 在编辑组件之前验证连接。它可能会让你进入组件。