2009-03-31 2 views
1

Ich habe ein SSIS-Master-Paket, das mehrere untergeordnete Pakete ausführt. Es funktioniert gut, aber wenn ich es im Dateisystem auf dem Server bereitstellen, erhalte ich einen Fehlercode "0xC00220DE". "Die angegebene Datei wurde vom System nicht gefunden."Probleme beim Ausführen eines SSIS-Pakets im Dateisystem

Wenn ich das Paket auf dem Server durch Doppelklicken ausführen, funktioniert es ordnungsgemäß. Aber wenn ich DTExec verwende:

dtexec /FILE "d:\cmcdx\ssis\MAESTRO_FACTURACION.dtsx" 

Ich bekomme den erwähnten Fehler.

Die Paketkonfiguration ist korrekt, und der Benutzer, mit dem ich das Paket ausführe, ist der Administrator des Computers.

Sollte ich die Pakete auf Sql Server bereitstellen? Was sind die Best Practices für die Bereitstellung eines Master-Child-Pakets? Ich habe keine Ideen mehr hier ...

Übrigens, ich bin Sql Server 2005 sp3 ausgeführt.

+0

Ist das Laufwerk "D" ein lokales Laufwerk oder ein zugeordnetes Netzlaufwerk? – James

+0

Es ist eine lokale Festplatte auf dem Server –

Antwort

4

Gelöst es.

Ich verwendete relative Pfade, um auf die untergeordneten Pakete zu verweisen, und in Laufzeit konnte SSIS sie nicht finden.

Am Ende habe ich einen bestimmten Pfad verwendet, in einer Konfigurationsdatei festgelegt. Dann habe ich das Deployment-Utility verwendet, alles auf den Server kopiert, mit Doppelklick auf die SSISDeploymentManifest-Datei ausgeführt und die Pfade an den richtigen Speicherort geändert.

Danke James und Justin für Ihre Antworten.

2

Erhält das Paket keinen Pfad- oder Speicherortwert aus einer Paketkonfigurationsdatei? Wenn dies der Fall ist, stellen Sie sicher, dass Sie das Argument/ConfigFile und den Pfad zur Konfigurationsdatei angeben. Eine andere Sache, die Sie möglicherweise überprüfen sollten, ist, wenn Sie Verbindungen im Paket haben, die auf zugeordnete Netzlaufwerke verweisen. Diese funktionieren möglicherweise nicht unter dem anderen Dienstkonto als Ihrem lokalen Konsolenkonto.

[Bearbeiten] Probieren Sie diese Befehlszeile unten auf dem Server (beachten Sie die doppelten Schrägstriche).

dtexec /FILE "d:\\cmcdx\\ssis\\MAESTRO_FACTURACION.dtsx" 
+0

Danke für Ihre Antwort James. Alle Pakete werden in demselben Verzeichnis bereitgestellt, und ich verwende keine Konfigurationsdatei. Außerdem sind alle Pfade lokal für den Server. –

2

Es gibt mehrere Dinge, die hier falsch laufen könnten. Sie erwähnen, dass Sie ein Master-Paket verwenden, um mehrere untergeordnete Pakete auszuführen. Sind alle Ihre untergeordneten Pakete an ihrem richtigen Speicherort auf dem Server?

Denken Sie daran, dass die Pfade zu den untergeordneten Paketen Variablen in Ihrem Master-Paket sein sollten, damit diese Werte bei Bedarf über eine Konfigurationsdatei auf dem Server geändert werden können.

Sie könnten auch diese Reihe von Tutorials auf MSDN prüfen wollen:

Package Deployment How-To Topics

Diese Tutorials erklären, wie man richtig Paket-Konfigurationen auf dem Server aktivieren, wenn das Paket ausgeführt wird.

+0

Alle Pakete werden an demselben Speicherort bereitgestellt.Ich verwende keine Konfigurationsdatei, da ich die Verbindungen zu den untergeordneten Paketen relativ zum Pfad des Masters eingerichtet habe. Wie auch immer, wenn es ein Konfigurationsproblem ist, warum wird das Paket richtig ausgeführt, wenn ich darauf doppelklicke? –

+0

Wenn Sie zum Ausführen doppelklicken, wird das Paket auf dem Computer ausgeführt, auf dem Sie es ausführen. Wenn Sie die Befehlszeile verwenden, wird das Paket auf dem Server als SQL Agent-Benutzer ausgeführt. –

+0

Ich vermutete dies, also habe ich den Sql Server Agent so konfiguriert, dass er mit meinen Zugangsdaten läuft. Es funktioniert nicht. Auch, wenn ich doppelklicke, mache ich es auf dem Server, mit Terminal-Server. –