web-dev-qa-db-de.com

SSIS-Verbindung nicht im Paket gefunden

Ich bin ein bisschen neu in der SSIS-Programmierung und habe Probleme mit der Bereitstellung eines SSIS-Pakets.

Dieses Paket wird ordnungsgemäß auf meinem PC ausgeführt und kann alles tun, was es tun muss ... aber bei der Bereitstellung kann es die Verbindungszeichenfolgen nicht finden. 

Hier ist der Fehler:

Code: 0xC001000E Quelle: Beschreibung: Die Verbindung "{DA7CD38D-F6AA-4B06-8014-58BEE5684364}" wurde nicht gefunden. Dieser Fehler lautet Wird von Connections-Auflistung ausgelöst, wenn das spezifische Verbindungselement wurde nicht gefunden. Fehler beenden

Fehler: 2012-08-09 00: 21: 06.25 Code: 0xC001000E Quelle: Paket Beschreibung: Die Verbindung "{DA7CD38D-F6AA-4B06-8014-58BEE5684364}" wurde nicht gefunden. Dieser Fehler wird von der Connections-Auflistung ausgelöst, wenn der bestimmtes Verbindungselement wird nicht gefunden. Fehler beenden 

Fehler: 2012-08-09 00: 21: 06.25 Code: 0xC001000E Quelle: Paket Beschreibung: Die Verbindung "{DA7CD38D-F6AA-4B06-8014-58BEE5684364}" wurde nicht gefunden. Dieser Fehler wird von der Connections-Auflistung ausgelöst, wenn der bestimmtes Verbindungselement wird nicht gefunden. Fehler beenden

Fehler: 2012-08-09 00: 21: 06.25 Code: 0xC00291EB Quelle: SQL ausführen Aufgabe SQL ausführen Aufgabe Beschreibung: Verbindungsmanager "{DA7CD38D-F6AA-4B06-8014-58BEE5684364}" ist nicht vorhanden. Fehler beenden

Fehler: 2012-08-09 00: 21: 06.25 Code: 0xC0024107 Quelle: SQL ausführen Aufgabenbeschreibung: Bei der Aufgabenüberprüfung sind Fehler aufgetreten. Ende Fehler DTExec: Die Paketausführung hat DTSER_FAILURE (1) zurückgegeben. Begonnen: 00:21:04 Fertig: 00:21:06 Verstrichen: 1.888 Sekunden. Das Paketausführung fehlgeschlagen. Der Schritt ist fehlgeschlagen.

19
Schewns

Es scheint, dass Ihr ssis-Paket auf eine andere Verbindung verweist, die möglicherweise deleted oder renamed war. Versuchen Sie, die SSIS-Komponenten zu öffnen, und zeigen Sie auf die richtige Verbindung, die in Ihrem Verbindungsmanager vorhanden ist.

Dies geschieht, wenn wir die SSIS-Paketkomponenten kopieren, um ein neues Paket zu erstellen, oder weil die Verbindungen umbenannt wurden oder es noch Komponenten gibt, die die alte Verbindung verwenden, die in Ihrer xml-Konfigurationsdatei definiert ist Fehler werfen.) Wenn Sie XML für die Konfiguration verwenden, versuchen Sie, das neue bereitzustellen. 

19
praveen

Ich bin ein wenig zu spät zur Party, aber ich bin auf diesen Thread gestoßen, als ich die gleichen Fehler hatte und eine andere Lösung gefunden habe.

Beim Erstellen eines SSIS 2012-Pakets wird im Projektmappen-Explorer der Ordner Verbindungsmanager auf Projektebene angezeigt. Dies scheint der logischste Ort zum Erstellen einer Verbindung zu sein und sollte beim Erstellen einer Verbindung verwendet werden, die von jedem Paket im Projekt verwendet werden kann. Es ist auf Projektebene enthalten und nicht auf Paketebene.

Beim Ausführen meines dtsx-Pakets mit dtexec wurden die gleichen Fehler wie oben angezeigt. Dies liegt daran, dass die Verbindung nicht im Paket enthalten ist (nur das Projekt). Meine Lösung bestand darin, in den Paket-Designer zu gehen. Klicken Sie dann im Fenster Verbindungs-Manager mit der rechten Maustaste auf die Verbindung auf Projektebene (die mit dem Präfix "(Projekt)" angezeigt wird) und wählen Sie "In Paketverbindung konvertieren". Dadurch wird die Verbindung in das eigentliche dtsx-Paket eingebettet. Das hat mein Problem gelindert.

19
jhughes

Dies scheint auch zu passieren, wenn Sie das neue SSIS 2012-Konzept "Shared Connection Manager" verwenden, bei dem die Verbindungsmanager nicht in Ihrem Paket, sondern im Visual Studio-Projekt definiert sind und im Paket verwiesen werden. Die Ausführung über SQL Agent oder DTEXEC führt zu der gleichen Fehlermeldung.

Ich habe noch keine Lösung dafür gefunden, würde aber gerne ein Feedback bekommen, wenn es vorher jemand erfahren hätte.

4
Roberto Andrade

Vielen Dank, dass Sie diese Ausgabe veröffentlicht haben.

Eine Lösung: Öffnen Sie das Paket in XML-Form über den Windows-Explorer. Suchen Sie nach GUID für den Verbindungsmanager, der nicht gefunden werden kann. In meinem Fall war es eine fehlerhafte EventHandler-Verbindung, die beschädigt war. Derselbe Verbindungsmanager wurde im Kontrollfluss verwendet, wurde jedoch dort nicht beschädigt, sodass er dem Benutzer über die Benutzeroberfläche nicht offensichtlich war. Da das XML auf einen Event-Handler-Verbindungsmanager verweist, öffnete ich die Registerkarte "Ereignis-Handler" in der Benutzeroberfläche und zeigte sofort das wundervolle RED X in der Quelle und in den Zielen, die auf die beschädigte Verbindungsmanager-ID verweisen. Ich habe es zum richtigen Manager ernannt, das Paket neu aufgebaut und gespeichert. Gut zu gehen.

Der Schlüssel war das Öffnen des Pakets im XML-Format und das Auffinden der GUID im Code, um festzustellen, wo der Fehler aufgetreten ist. Wenn ich in der Benutzeroberfläche keinen gültigen Verweis darauf finden konnte, wollte ich entweder die XML-Verbindung in eine andere bekannte GUID innerhalb der XML-Datei umbenennen und dann in die Benutzeroberfläche gehen und sie erneut verbinden oder sie löschen insgesamt.

Viel Glück.

4
Michael Pegurri

In meinem Fall habe ich herausgefunden, dass das Problem ein zuvor konfigurierter Protokollanbieter war, der auf eine alte Verbindung verweist, die nicht mehr verwendet wird. Um das Problem zu lösen, klicken Sie auf die Registerkarte Package Explorer, dann auf Log Provider und löschen Sie den veralteten Log Provider. Ich hoffe das hilft jemandem.

3
Elcio Firmiano

Die vorherigen Anmerkungen zum Löschen oder Entfernen einer Verbindung sind durchaus möglich. Sie können diesen Fehler jedoch auch erhalten, wenn Sie versuchen, ein Paket aufzurufen, das Verbindungen auf Projektebene (anstelle von Verbindungen auf Paketebene) verwendet.

Wenn Sie Verbindungen auf Projektebene verwenden und trotzdem dtexec verwenden möchten, müssen Sie niemals befürchten, dass es einen Weg gibt. Ich würde nicht empfehlen, sie in Verbindungen auf Paketebene zu konvertieren (vorausgesetzt, Sie haben sie aus gutem Grund als Verbindungen auf Projektebene erstellt).

Sie müssen Ihr SSIS-Projekt bereitstellen. Für Ihren SSIS-Server muss ein Katalog erstellt werden ( https://msdn.Microsoft.com/en-us/library/gg471509.aspx ). Sobald Sie den Katalog haben, wählen Sie in Ihrem SSIS-Projekt Project-> Deploy und folgen Sie dem Assistenten. Das Ergebnis ist eine * .ispac-Datei, die in Ihrem SSIS-Lösungsordner/bin/Development generiert wird

Nun zum Geldbefehl, anstatt das Paket mit einem einfachen Aufruf aufzurufen: Dtexec.exe/f "package.dtsx"

nennen Sie es stattdessen so: dtexec.exe/project "<...>/project.ispac"/package "<...>/package.dtsx"

Die ispac-Datei enthält die Verbindungsinformationen auf Projektebene, die zum Ausführen des Pakets erforderlich sind, und Sie sollten festgelegt sein!

2
Rachelle

Paket funktioniert am Freitag gut, checken Sie in TFS ein und gehen Sie nach Hause. Öffne es am Montag und bekomme überall Fehler. msgstr "Verbindungsmanagervariable $ project._connectionstring wurde in der Variablenauflistung nicht gefunden". 

Ich klick-edit die Verbindung und teste die Konnektivität, funktioniert kein Problem; Der ConnMnger befindet sich in der Liste der Verbindungsmanager in der Lösung. Wenn Sie das mit diesem Verbindungsmanager verbundene TARGET-Objekt öffnen und auf MAPPINGS klicken, wird der obige Fehler angezeigt. An keiner Stelle im Mapping gibt es einen Verweis auf Verbindungsmanagervariablen. 

Es stellt sich heraus, dass Sie, um dies zu korrigieren, im Connection Manager-Fenster mit der rechten Maustaste auf den Connection Manager klicken und PARAMETERIZE auswählen müssen. Füllen Sie die Optionen nach Bedarf aus -

PROPERTY: ConnectionString Verwenden Sie den Exisgint-Parameter: $ Project :: ConnMgrName_ConnectionString ODER Neuen Parameter erstellen: Folgen Sie den Optionen

Sobald dieser Verbindungsmanager parametriert ist, funktioniert alles. Obwohl der Conn Manager auf der Registerkarte Conn Manager vorhanden war, ist der Conn Manager bereits im Projektmappen-Explorer aufgeführt und funktionierte 2 Tage zuvor problemlos.

Ungerade. Was auch immer. Microsoft ist Microsoft. SQL Server ist SQL Server. Wähle dein Gift.

Ich hoffe, das hilft der nächsten Person, Zeit zu sparen.

0
Michael Pegurri

Ich habe diesen Fehler erhalten, als ich versuche, ein SSDT 2010/SSIS 2012-Projekt in VS mit SSDT 2013 zu öffnen. Als das Projekt geöffnet wurde, wurden alle Pakete migriert. Als ich erlaubte, fortzufahren, schlug jedes Paket mit diesem und anderen Fehlern fehl. Ich habe festgestellt, dass das Paket beim Öffnen umgangen und nur jedes Paket einzeln geöffnet wird. Das Paket wird beim Öffnen aktualisiert, und es wurde ordnungsgemäß konvertiert und erfolgreich ausgeführt.

0
IronRod

Ich hatte in meinem Fall dasselbe Problem, die Ursache war, dass die Verbindung nicht eingebettet war und der Oracle-Client nicht kompatibel war. 

LÖSUNG:

Meine Umgebung: SQL SERVER 2014 64bitOracle Client 32 Bit

  1. Für Include/Embeded-Verbindung

    • paket öffnen
    • rechtsklick auf Verbindung
    • wählen Sie die Option "In Projekt konvertieren"
  2. legen Sie für den SQL SSIS-Katalog/Job-Zeitplan die Konfiguration fest, und befolgen Sie die Schritte in der Abbildung 

    • Rechts unter 'SQL JOB-> Schritt' oder 'SSIS-Katalog -> Paket -> Ausführen' und wählen Sie 'Eigenschaften'.
    • Wählen Sie Konfiguration -> Registerkarte Erweitert
    • Geprüfte 32-Bit-Laufzeit

Ich habe versucht, Schritt für Schritt detaillierte Bilder zu posten, aber Stack Overflow lässt dies aufgrund der Reputation nicht zu. Ich hoffe, ich werde diesen Beitrag später aktualisieren.

0
Haseeb Ahmed

Ich hatte das gleiche Problem. 

Ich verwende Verbindungsmanager auf Projektebene, und meine Pakete werden in SSDT ordnungsgemäß ausgeführt. Wenn ich sie jedoch bereitstelle und über einen Job mit dem SQL Server-Agent ausführte, erhalte ich die Fehlermeldung "Verbindung nicht gefunden".

Ich stelle das Projekt bereit und das Problem wurde behoben. Wenn Sie Verbindungsmanager auf Projektebene verwenden, aber nur ein einzelnes Paket aus diesem Projekt bereitstellen und Sie das Paket über den SQL Server-Agent aufrufen, konnte es Ihre Verbindungsmanager nicht erkennen Verbindungsmanager oder Sie sollten Ihr Projekt zuerst bereitstellen.

0
BehNam Montazer

Ich habe festgestellt, dass dieses Problem ein beschädigter Verbindungsmanager war, indem ich die bestimmte Verbindung identifizierte, die fehlgeschlagen ist. Ich arbeite in SQL Server 2016 und habe den SSISDB-Katalog erstellt, und ich stelle meine Projekte dort bereit. 

Hier ist die kurze Antwort. Löschen Sie den Verbindungsmanager und erstellen Sie ihn mit demselben Namen neu. Vergewissern Sie sich, dass die Pakete, die diese Verbindung verwenden, immer noch korrekt verdrahtet sind. Wenn Sie sich nicht sicher sind, wie Sie dies tun, habe ich die detaillierte Vorgehensweise unten aufgeführt.

Um die beschädigte Verbindung zu identifizieren, habe ich Folgendes getan. In SSMS öffnete ich den Ordner "Integration Services Catalogs", dann den Ordner "SSISDB", den Ordner für meine Lösung und "on down", bis ich meine Liste der Pakete für dieses Projekt gefunden habe. 

Klicken Sie mit der rechten Maustaste auf das fehlgeschlagene Paket, gehen Sie zu "Berichte"> "Standardberichte"> "Alle Ausführungen". In meinem Fall der Verbindungsmanager zu meinem Ziel. Ich habe einfach den Verbindungsmanager gelöscht und dann einen neuen Verbindungsmanager mit demselben Namen neu erstellt.

Anschließend ging ich in mein Paket, öffnete den Datenfluss, stellte fest, dass einige meiner Ziele mit dem roten X beleuchtet waren. Ich öffnete das Ziel, wählte den richtigen Verbindungsnamen erneut aus, wählte die Zieltabelle erneut aus und überprüfte das Zuordnungen waren immer noch korrekt. Ich hatte sechs Ziele und nur drei hatten das rote X, aber ich klickte alle an und stellte sicher, dass sie noch richtig konfiguriert waren.

0
Bob Frasca

ich hatte das gleiche Problem und nichts von dem oben genannten hat es verschoben. Es stellte sich heraus, dass es eine alte SQL-Aufgabe gab, die in der rechten unteren Ecke meiner Ssis deaktiviert war, nach der ich wirklich suchen musste. Nachdem ich das gelöscht hatte, war alles gut

0
user4253824

Der Verbindungswert im Job scheint die Groß- und Kleinschreibung zu berücksichtigen. 

0
benik9

Für ein in Visual Studio 2015 entwickeltes Paket habe ich festgestellt, dass ich einen Wert für den Parameter angeben muss (dies wäre der Fall, wenn Sie die Bereitstellung auf einem anderen Server ausführen oder ausführen). Dabei wird die Verbindungszeichenfolge des Verbindungsmanagers festgelegt, anstatt den Entwurfszeitwert zu verwenden. __ Dadurch wird die Fehlermeldung unterdrückt. Ich denke, das könnte ein Fehler sein.

dtexec /project c:\mypath\ETL.ispac /package mypackage.dtsx /SET \Package.Variables[$Project::myParameterName];"myValueForTheParameter"

Ich habe dies getestet, ohne oder ohne die Verbindungszeichenfolge zu parametrieren, die sich auf Projektebene befindet. Das Ergebnis war das gleiche: Das heißt, ich muss den Wert für den Parameter einstellen, auch wenn er nicht verwendet wurde.

0
Minnie Shi

Im Allgemeinen stelle ich fest, dass wenn SSIS scheinbar irrational über eine scheinbar gute Verbindung zu klagen scheint, weil ich versuche, die Verbindung direkt über eine Paketvariable zu definieren, anstatt über einen Verbindungsmanager. Beispiel: Heute hatte ich eine Webdienstaufgabe, bei der ich den Fehler gemacht habe, direkt einen Ausdruck zu erstellen, der seine Eigenschaft "Verbindung" in Bezug auf eine Paketvariable definiert, die die URL des Webdiensts enthält. Beachten Sie jedoch, dass eine Verbindung nicht dasselbe wie ein ConnectionString ist! Wenn ich mir die Aufgabe ansehe, sah sie nach der ganzen Welt aus, als hätte sie alles gültig, weil sie eine vollkommen gültige URL als "Verbindung" anzeigt. Das Problem ist, dass die Verbindung keine Zeichenfolge sein kann. Es muss ein Verbindungsmanager sein.

0
Dave Ziffer

Eine andere Permutation, die ein Problem in 2008R2 verursacht, ist die Paketkonfiguration. Ich hatte eine Eigenschaft zum Speichern/Konfigurieren aus einer Dtsconfig-Datei festgelegt und dann die Verbindung gelöscht, auf die sie sich bezieht. Die Lösung war einfach: Bearbeiten Sie die Konfiguration und deaktivieren Sie das unerwünschte Objekt. Wählen Sie dann die entsprechende Eigenschaft für den umbenannten Verbindungsmanager aus .. __ Der Fehler trat nicht auf, nachdem das Projekt gespeichert, geschlossen und erneut geöffnet wurde. :-)

0
Sox

Diese Lösung hat für mich funktioniert:

Gehen Sie zu SQL Server Management Studio, klicken Sie mit der rechten Maustaste auf den fehlgeschlagenen Schritt, und wählen Sie Eigenschaften -> Protokollierung -> Protokollanbieter entfernen aus, und fügen Sie ihn dann erneut hinzu

0
Gonza Piotti

In meinem Fall könnte ich das einfacher lösen. Ich habe das x.dtsConfig-Archiv geöffnet, und aus einem unbekannten Grund hatte dieses Archiv nicht das Standardformat, daher konnte ssis die Konfigurationen nicht erkennen. Glücklicherweise hatte ich das Archiv zuvor gesichert, also musste ich es einfach in den ursprünglichen Ordner kopieren, und alles funktionierte wieder.

0
Kevin Infante

Was ich tat, um dieses Problem zu lösen, war einfach ... Ich musste meinen SQL Server umbenennen, damit er auf den Tag (localhos) reagierte. Danach änderte ich alle Verbindungen auf dem SSIS und stellte die Lösung neu auf ... es hat funktioniert . hoffe es hilft dir

0
Schewns

In meinem Fall zeigte eine der Event-Handler-Aufgaben auf die alte Verbindung, die gelöscht wurde, und löschte die unbenutzte Event-Handler-Aufgabe, wodurch das Problem behoben wurde .. __ Ich öffne das Paket im XML-Format, um zu verstehen, dass das Problem mit dem Event-Handler zusammenhängt Aufgabe! 

0
Vijred