Ich muss einen monatlichen Prozess starten, um eine vorformatierte Textdatei zu erstellen. Die Datenquellen befinden sich in Datenbanktabellen (SQL Server 2008 R2). Es ist notwendig, einige Logik (ETL) auf den Daten durchzuführen und dann die TXT-Datei zu schreiben.Aufruf Aktion MVC von SSIS vs Ausführen von Code direkt in Skriptaufgabe SSIS
Ich fand 2 Lösungen.
Zunächst ist: eine geplante SSIS verwenden, in denen i Extract, Transform-Daten mit Logik in einem Script Task (C#) und Dump die Ergebnisse in der txt-Datei
Zweite Lösung: ich SSIS mit einem Skript verwenden könnte Aufgabe nur eine Aktion MVC (C# -Code und WebClient.UploadData) aufrufen. Datenextraktion, Transformation und Ergebnisdumping in einer TXT-Datei wird vollständig in der MVC-Aktion durchgeführt. Ich denke, dass es besser sein, sollte die Logik in einer MVC-Aktion für folgende Profis bewegen:
Test Driven Development
Logging (mit log4net)
Entity Framework
Codelogik der WebApp wiederverwenden
Zukunft SQL Server Migration könnte einfacher sein (Dtsx Migration), da die Logik außerhalb der SSIS
ist
Ich bin zuversichtlich, wenn alle die Anwendungslogik in der WebApp ist: i nur für großen ETL mit SSIS bevorzugen.
Die Nachteile der zweiten Lösung besteht darin, dass eine Sicherheitsverwaltung des MVC-Aktionsaufrufs erforderlich ist, um böswillige Anrufe zu vermeiden.
FRAGE
Was denken Sie, ist die beste Lösung?
Logik innerhalb oder außerhalb (WebApp MVC) SSIS?
Option eins ist kompliziert. Option zwei ist sehr kompliziert. Erstellen Sie es in jedem Tool, das Sie unterstützen können. Ich schlage vor, dass Sie SSIS überhaupt nicht verwenden. Verwenden Sie einfach ein anderes Tool, um Ihre Web-App direkt auf einer geplanten Basis auszuführen. Von Windows Scheduler können Sie CURL.EXE (http://stackoverflow.com/questions/12222607/how-to-doa-soap-wsdl-web-services-call-from-the-command-line) oder a VBScript (http://axwonders.blogspot.com.au/2011/02/schedule-windows-task-to-call-aspnet.html) –
Oder Sie könnten etwas wie diese http://www.codeproject.com/ verwenden Artikel/12117/Simulate-a-Windows-Dienst, der ASP-NET-to-run-sc verwendet, um Ihren Scheduler in IIS zu erstellen. –
Gehen Sie nicht davon aus, dass Sie, da Sie Datenextrakte machen, SSIS verwenden müssen. Es kommt mit seinen eigenen Komplikationen. Zum Beispiel benötigen Sie ein spezielles und überraschend schwieriges Werkzeug (SSDT), um ein Paket zu erstellen. Erstellen Sie einfach alles in dem Tool, mit dem Sie vertraut sind (ASP.Net), und verwenden Sie dann Windows Scheduler, um es bei Bedarf aufzurufen. –