2013-03-08 75 views
7

基本上
我有一個項目與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

回答

0

將CM移回到包,然後返回到項目解決它到我可以建立。

7

如果您有兩次相同的連接管理器(例如:在兩個軟件包之間複製),並將其中一個升級爲項目連接,則會發生這種情況。

第一個軟件包將顯示「(project)remoteSystem」的連接管理器。第二個包仍然會顯示「remoteSystem」,並且新的項目級連接將不會顯示。

如果刪除第二個包中的包級連接,您將a)解決錯誤,並且b)項目級連接管理器將變爲可見。

然後,您將必須遍歷所有引用了您刪除的連接管理器的組件,並將它們重定向到新的項目級別連接。

相關問題