如果粘贴项目连接管理器引发错误,如何将完整的数据流任务(DFT)从一个项目复制到另一个项目:
至少有一个连接管理器无法正确粘贴。
无法成功粘贴名为“MyConnMngr”的连接管理器。
无法创建连接管理器。
你调用的对象是空的。
(微软数据转换服务设计)
以下是该消息的完整副本。链接已失效:
TITLE: Microsoft Visual Studio
------------------------------
The designer could not paste one or more connection managers.
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%C2%AE%20Visual%20Studio%C2%AE&ProdVer=15.9.28307.2094&EvtSrc=Microsoft.DataTransformationServices.Design.SR&EvtID=PasteComponentsFailureCause_couldNotRestoreConnectionManagers&LinkId=20476
------------------------------
ADDITIONAL INFORMATION:
At least one connection manager could not be pasted correctly.
The connection manager with the name 'MyConnMngr' could not be pasted successfully.
The connection manager could not be created.
Object reference not set to an instance of an object. (Microsoft.DataTransformationServices.Design)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%C2%AE%20Visual%20Studio%C2%AE&ProdVer=15.9.28307.2094&EvtSrc=Microsoft.DataTransformationServices.Design.SR&EvtID=RestoreConnectionManagers_AtLeastOneRestoreConnectionManagerErrorOccured&LinkId=20476
------------------------------
BUTTONS:
OK
------------------------------
如果只是这个连接管理器需要我重新从头开始构建,我就不会花时间回答这个问题了。但是这个错误导致整个 DFT 无法粘贴,我甚至无法一步一步复制粘贴任何框。
从整个 DFT 中粘贴的唯一内容是用于包的一个平面文件连接管理器。似乎无法粘贴项目的连接管理器。我在两个项目中尝试过。我知道有时对象仍然是项目中的文件,而不是项目资源管理器中显示的。这样的文件可以阻止粘贴同名的新对象,或者您至少会收到替换它的警告。因此,我将 DFT 粘贴到一个之前没有该名称或功能的连接管理器的项目中,但仍然出现错误。
我使用的是 2016 年的旧版 SSIS。也许新版本可以处理这个问题,但我对此表示怀疑。
您不应该复制和粘贴 DFT。相反,应该复制整个包,但不是通过复制和粘贴,而是使用菜单的“添加现有包”:
然后我发现了一些小错误,我可以很快修复。
错误代码 0xC00470A6:
加载包时出现错误:
然后,您会在新项目中找到包含所有内容的 DFT 框。
请注意,这只在它不复制项目连接管理器的情况下才有效。您无法逐个复制它们,因为如果您右键单击连接管理器,则这不在菜单中:
相反,你需要在 SSIS 上玩个小把戏:
只有这样,您才能复制设置。如果您首先将设置复制到数据资源管理器中的项目,然后尝试添加它,菜单中没有任何内容。如果您随后创建连接管理器并尝试将其重命名为粘贴的连接管理器,则您只会用新的虚拟连接管理器覆盖所需的连接管理器,而不是相反。
复制整个包后,您可以选择 DFT 并将其复制到同一项目的另一个包中。