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
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
indtexec /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 ...
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
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.
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
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
Großer Peter ... Danke für Ihre Informationen ... – sona
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. –
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.
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