SSIS 2012项目连接管理器错误

SSIS 2012项目连接管理器错误

问题描述:

基本上
我有一个项目与4包。他们上的所有人都有不同的连接管理员,除了在两个软件包之间共享的连接管理员之外,所以我让它成为项目连接管理者。SSIS 2012项目连接管理器错误

  • 如果我尝试构建项目,我会得到下面的错误。
  • 如果我更改项目CM至CM包,它建立精细

所以很明显的事实,我有一个项目CM是问题。

我可以错过什么?

Error 21 System.ArgumentException: An item with the same key has already been added. 
    at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) 
    at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) 
    at Microsoft.SqlServer.Dts.Runtime.ReferenceId.ReferenceMap.Add(String key, String value, Boolean isExternal) 
    at Microsoft.SqlServer.Dts.Runtime.ReferenceId.RefIdProducer.AddRefIdAttribute(XmlElement element, String objectName, String objectId, ReferenceParserState state) 
    at Microsoft.SqlServer.Dts.Runtime.ReferenceId.RefIdProducer.GenerateRefId(XmlElement element, ReferenceParserState state)  
    at Microsoft.SqlServer.Dts.Runtime.ReferenceId.RefIdProducer.ProcessElement(XmlElement element, ReferenceParserState state)  
    at Microsoft.SqlServer.Dts.Runtime.ReferenceId.RefIdConverter.MapRefIds(IDTSPackage100 package, IDTSInfoEvents100 events, XmlDocument document)  
    at Microsoft.SqlServer.Dts.Runtime.DTSManagedXmlSerializationHelper.AfterSavePackageToXML(IDTSPackage100 package, IDTSInfoEvents100 events, String& packageXml)  
    at Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSPackagePersist100.ClonePackageToXML(Object& pvDestination, Boolean vbReturnDOM, IDTSEvents100 pEvents)  
    at Microsoft.SqlServer.Dts.Runtime.Project.SavePackage(IProjectStorage storage, Package package, String streamName, Boolean preserveVersionGuid)  
    at Microsoft.SqlServer.Dts.Runtime.Project.SavePackage(Package package, String streamName, Boolean preserveVersionGuid) 
    at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.IncrementalBuildThroughObj(IOutputWindow outputWindow) 
    at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.BuildIncremental(IOutputWindow outputWindow) 
+0

显然您在与项目CM名称相同的包中定义了一个连接。它可以放在任何包中,而不仅仅是你打算使用项目CM的那个。 – 2013-03-08 18:56:07

+0

今天我遇到了这个。将CM移回到一个包,然后回到项目解决它到我可以建立的地方。 – 2013-11-22 15:29:42

+0

@JohnMo请添加您的有用评论作为答案,以便此问题不会显示为未答复SO用户。 – 2014-02-21 00:38:52

将CM移回到包,然后返回到项目解决它到我可以建立。

如果您有两次相同的连接管理器(例如:在两个软件包之间复制),并将其中一个升级为项目连接,则会发生这种情况。

第一个软件包将显示“(project)remoteSystem”的连接管理器。第二个包仍然会显示“remoteSystem”,并且新的项目级连接将不会显示。

如果删除第二个包中的包级连接,您将a)解决错误,并且b)项目级连接管理器将变为可见。

然后,您将必须遍历所有引用了您删除的连接管理器的组件,并将它们重定向到新的项目级别连接。