2009-04-30 11 views
2

Ich möchte eine Protokolldatei in SSIS erstellen. Ich weiß, wie man über Management Studio erstellt, aber ich wollte mein SSIS-Paket über die Eingabeaufforderung ausführen. Können Sie mir helfen, die Windows-Befehle dafür zu finden?So erstellen Sie eine Protokolldatei in SSIS

Antwort

2

Sie müssen eine neue Verbindungszeichenfolge in Business Intelligence Development Studio (BIDS) einrichten. wo Sie den Pfad der Log-Datei angeben müssen ... ich meine, hier wird der Pfad D: \ Sample_Examples \ Log.log sein ... und der Name des Verbindungs-Managers lautet Log.log , also wird jetzt die Eingabeaufforderung geändert

in
dtexec /f "C:\\Package.dtsx" /l "DTS.LogProviderTextFile";"Log.log" 

statt

dtexec /f "C:\\Package.dtsx" /l "DTS.LogProviderTextFile;D:\Sample_Examples\Log.log" 

kippen wir einen direkten Weg nach DTS.LogProviderTextFile angeben ... wegen, dass ich nur eine Fehlermeldung anzeigt ...

Vielen Dank für die Vorschläge ...

2

Sie können die Option/L verwenden, wie dokumentiert here; Sie können Logging jedoch auch viel einfacher und feiner über das Menü SSIS> Logging in Visual Studio einrichten.

Cheers,
Eric

+0

ja verwendet i dtexec/f "C: \\ Package.dtsx"/l "DTS.LogProviderTextFile; D: \ Sample_Examples \ log.log" so ... aber ich bin immer zwei Fehler wie 1. Die Verbindung "D: \ Sample_Examples \ Log.log" wurde nicht gefunden. Dieser Fehler wird von der Verbindungssammlung ausgelöst, wenn das spezifische Verbindungselement nicht gefunden wird. 2. Verbindungsmanager wird nicht gefunden eine Idee zu diesem Thema? – sona

2

In Ihrem SSIS benötigen Sie einen SSIS Log Provider erstellen und konfigurieren, bevor Sie es verwenden können. Unter link text finden Sie weitere Informationen.

+0

Ja, ich habe den Link überprüft, aber darin erklären sie, wie Logging über BIDS zu aktivieren ... Ich wollte die Protokollierung mit DOS-Befehle erstellen ... irgendeine Idee zu diesem Thema? – sona

1

Sie können dies auf andere Weise tun, ohne in Ihr SSIS-Paket zu gehen.

eine Batchdatei erstellen und ausführen DTEXEC in einer neuen Instanz von CMD, das heißt:

CMD/C DTEXEC Ihr Paket und args>Protokolldatei

Wenn Sie dies tun, können Sie Führen Sie diese Batch-Datei aus und rufen Sie Ihre Protokolldatei ab.

Siehe http://richarddingwall.name/2009/01/26/capture-the-output-from-a-scheduled-task/ für weitere Details

+0

Großer Peter ... Danke für Ihre Informationen ... – sona

+0

Eine Anmerkung zu diesem Ansatz: Seien Sie vorsichtig beim Aufrufen eines SSIS-Pakets auf diese Weise und versuchen Sie dann, eine Logik um die Variable% ERRORLEVEL% zu tun. Angeblich sollte dies nicht Null sein, wenn Ihr Paket ausfällt, aber ich habe gesehen, dass es Null zurückgibt, wenn das Paket eindeutig fehlgeschlagen ist. –

0

Ja, Sie haben einen Verbindungs-Manager für den Log-Anbieter zu schaffen; jedoch; Es gibt keine Dokumentation dazu, wenn Sie einen benutzerdefinierten Protokollanbieter verwenden.

Verwandte Themen