Verbindungs- und Strange-Verhalten bei Verwendung der Paketausführungstask erhalten

9

Ich habe ein Master-Paket, in dem ich mehrere Pakete unter Verwendung der Paket-Task ausführen aufruft.

Sowohl untergeordnete als auch übergeordnete Pakete haben keine Konfiguration und verbinden OLEDB (SQL Server) über fest codierte SQL-Authentifizierungsverbindungen in den Verbindungsmanagern.

Auch die Pakete haben sensible Verschlüsselung mit dem Passwort.

Seltsames Verhalten gesehen: 1. Untergeordnete Pakete werden erfolgreich ausgeführt, wenn sie von BIDS ausgeführt werden, aber fehlschlagen, wenn sie von Masterpaketen ausgeführt werden, bei denen der Verbindungsfehler auftritt.

"Der Aufruf der AcquireConnection-Methode an den Verbindungsmanager ist mit dem Fehlercode 0xC0202009"

fehlgeschlagen

Kann jemand bei der Lösung dafür helfen?

    
user46795 11.08.2012, 18:46
quelle

2 Antworten

3

Es scheint, dass Ihr untergeordnetes Paket die Verbindungszeichenfolge nicht von Ihrem übergeordneten Paket erhält. Sie müssen die Verbindungszeichenfolge von Parent an untergeordnetes Paket übergeben.

Überprüfen Sie diesen Artikel

Aktualisierung: -

Wenn Sie EncryptSensitiveWithPassword als Zugriffssteuerung für Ihr untergeordnetes und übergeordnetes Paket haben, dann while Ausführen des untergeordneten Pakets aus dem übergeordneten Paket

Sie werden aufgefordert, das Kennwort für Ihr untergeordnetes Paket während der Ausführung einzugeben.

Es kann Szenarien geben, dass selbst nach Eingabe des Kennworts zur Laufzeit die Ausführung des untergeordneten Pakets aufgrund eines Verbindungsfehlers fehlschlägt. Dies kann aufgrund der untergeordneten Verbindungszeichenfolge (im Paketausführung ausführen) passieren (was nicht immer sicher ist) Zeigen Sie auf das alte untergeordnete Paket, das nach der Änderung nicht neu erstellt wurde.

Wenn Sie eine Execute SQL Task auf den Kontrollfluss ziehen, verwenden Sie die Datei System Location und zeigen Sie auf das aktualisierte untergeordnete Paket, das sich im bin-Ordner (oder Ihrem Bereitstellungspfad) befindet. und geben Sie in der Aufgabe

das Passwort Ihres Kindpakets ein

Um das übergeordnete Paket über den Integration Service (MSDB) auszuführen, müssen Sie den untergeordneten Entschlüsselungsschlüssel bei der Ausführung zur Laufzeit übergeben.

Bearbeiten: Schritt 1: Erstellen einer Paketkonfiguration für das übergeordnete SSIS-Paket Execute Package Task hat eine Eigenschaft PackagePassword . Sie müssen diese Eigenschaft beim Erstellen der Konfigurationsdatei

auswählen %Vor%

Schritt 2: Nachdem Sie die XML-Datei erstellt haben, öffnen Sie sie und suchen Sie nach der Eigenschaft ConfiguredType = und geben Sie im konfigurierten Wert das Passwort für Ihr untergeordnetes Paket ein

Schritt 3: Nach dem Importieren des übergeordneten Pakets in MSDB wählen Sie die Konfigurationsdatei auf der Registerkarte Konfiguration

    
praveen 12.08.2012 04:30
quelle
1

64/32 Bitfehler? Haben Sie vielleicht Excel-Verbindungsmanager als Quelle?

Dtexec verfügt sowohl über eine 64-Bit- als auch eine 32-Bit-Anwendung. Ich nehme an, dass wenn Sie von BIDS laufen, es die 32 Bits dtexec benutzt und wie laufen Sie den Meister? Wenn Sie darauf doppelklicken, kann dies das Problem sein, da DTExecUI (Paket-Dienstprogramm ausführen) nur als 32-Bit-Anwendung verfügbar ist. Wenn Sie auf einem 64-Bit-Server arbeiten und ein Paket über die DTExecUI ausführen, wird das Paket im 32-Bit-Emulationsmodus ausgeführt. Darüber hinaus kann das Paket fehlschlagen, wenn die verwendeten Verbindungsmanager nicht 32-Bit-kompatibel sind.

Beachten Sie Folgendes: Wenn Sie ein Paket in einer 32-Bit-Umgebung entwickeln und das Paket in einer 64-Bit-Umgebung ausführen möchten, müssen die Verbindungsmanager 64-Bit-kompatibel sein. Einige Verbindungsmanager wie Excel funktionieren nur in einer 32-Bit-Umgebung.

BEARBEITEN: Versuchen Sie, das Passwort hier zu setzen:

    
Diego 13.08.2012 13:55
quelle

Tags und Links