2013-03-08 12 views
7

Grundsätzlich:
Ich habe ein Projekt mit 4 Paketen. Alle auf ihnen haben unterschiedliche Verbindungsmanager mit Ausnahme einer, die zwischen zwei der Pakete geteilt wird, also habe ich es einen Projektverbindungsmanager gemacht.SSIS 2012 Projekt Verbindungsmanager Fehler

  • Wenn ich versuche, das Projekt zu erstellen, erhalte ich den Fehler unten.
  • Wenn ich das Projekt CM zu einem Paket CM ändern, es baut feine

So offensichtlich die Tatsache, dass ich ein Projekt CM habe das Problem ist.

Was kann ich vermissen?

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

Anscheinend haben Sie eine Verbindung in einem Paket definiert, das den gleichen Namen wie das Projekt-CM hat. Es kann in jedem Paket enthalten sein, nicht nur in den Paketen, die Sie mit dem Projekt CM verwenden möchten. –

+0

Ich bin heute auf dieses Problem gestoßen. Das Zurücksetzen des CM in ein Paket und dann zurück zum Projekt löste es dahin, wo ich es aufbauen konnte. –

+0

@JohnMo Bitte fügen Sie Ihren hilfreichen Kommentar als Antwort hinzu, damit diese Frage SO-Benutzern nicht angezeigt wird. –

Antwort

0

die CM Umzug zurück in ein Paket und dann auf das Projekt zurück gelöst es, wo ich bauen konnte.

7

Dies tritt auf, wenn Sie den gleichen Verbindungsmanager zweimal haben (z. B. zwischen zwei Paketen kopiert) und eine davon als Projektverbindung heraufstufen.

Das erste Paket zeigt den Verbindungsmanager von "(project) remoteSystem". Das zweite Paket wird weiterhin "remoteSystem" anzeigen und die neue Verbindung auf Projektebene wird nicht angezeigt.

Wenn Sie die Verbindung auf Paketebene im zweiten Paket löschen, werden Sie a) den Fehler beheben, und b) der Verbindungsmanager auf Projektebene wird sichtbar.

Sie müssen dann alle Komponenten durchgehen, die auf den Verbindungsmanager verweisen, den Sie gelöscht haben, und sie auf die neue Verbindung auf Projektebene umleiten.

Verwandte Themen