8

基本的に
私は4つのパッケージを持つプロジェクトを持っています。2つのパッケージ間で共有されるものを除いて、それらすべてに異なる接続マネージャーがあるため、プロジェクト接続マネージャーにしました。

  • プロジェクトをビルドしようとすると、以下のエラーが発生します。
  • プロジェクト 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)   
4

2 に答える 2

13

これは、同じ接続マネージャーが 2 回あり (例: 2 つのパッケージ間でコピーされた)、そのうちの 1 つをプロジェクト接続に昇格させた場合に発生します。

最初のパッケージには、「(プロジェクト) remoteSystem」の接続マネージャーが表示されます。2 番目のパッケージには引き続き「remoteSystem」が表示され、新しいプロジェクト レベルの接続は表示されません。

2 番目のパッケージでパッケージ レベルの接続を削除すると、a) エラーが解決され、b) プロジェクト レベルの接続マネージャーが表示されるようになります。

次に、削除した接続マネージャーを参照していたすべてのコンポーネントを調べて、それらを新しいプロジェクト レベルの接続にリダイレクトする必要があります。

于 2014-11-11T00:53:07.333 に答える