2016-03-23 11 views
0

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?

+0

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) –

+0

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. –

+0

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. –

Antwort

0

Ich bin mit dem gleichen konfrontiert. Ich entscheide mich dafür, die Logik aus denselben Gründen in eine ASP.NET-Web-App zu integrieren.

Verwandte Themen