Benutzer mit den meisten Antworten
Massenimport von csv Daten

Frage
-
Hallo Zusammen,
ich habe monatlich eine größere Anzahl von csv Daten zu importieren. Dazu nutze ich bisher BULK INSERT mit einer Formatdatei.
Dazu habe ich drei Fragen:
Vorab: Ich nutze SQL Server 2005 und als Frontend eine Access .adp
1. Überspringen von Anfangszeilen
Ich habe seit neustem csv Dateien in denen in den ersten 4 Zeilen Dinge stehen, die für mich keine Bedeutung haben. Diese ersten vier Zeilen haben auch einen ganz anderen Aufbau als der Rest, d.h. die Daten hier haben mehr bzw. weniger Spalten als die eigentliche Daten.
Erst ab Zeile 5 fangen die für mich relevanten Daten an.
Gibt es eine Möglichkeit beim Insert festzulegen, dass erst ab Zeile 5 begonnen werden soll?
2. Formatdatei
Wie beschrieben nutze ich aktuell eine Formatdatei in Form eines .txt Dokuments welches in einem Dateiverzeichnis des SQL Servers liegt.
Ist es auch möglich die in der .txt Datei enthaltenen Informationen aus einer Datenbanktabelle zu liefern? Das fände ich deutlich praktischer.3. Gibt es das nicht schon?
Gibt es ggf. ein Programm das mir diese ganzen Sachen erleichtert? Das mindestens mal csv Dateien in Masse für mich in eine festzulegende Tabelle importiert und in dem ich angeben kann ab welcher Zeile begonnen werden soll und wie die einzelnen Spalten heißen bzw. was für Werte sie enthalten?
Vielen Dank für Eure Hilfe.
Patrick
Antworten
-
Hallo Patrick,
zu 1: Da gäbe es doch FIRSTROW.
http://msdn.microsoft.com/de-de/library/ms188365.aspx
zu 2: Warum erstellst Du dir nicht ein SSIS Paket?
http://blog.sqlauthority.com/2011/05/12/sql-server-import-csv-file-into-database-table-using-ssis/
Das lässt sich ja auch wiederverwenden.
zu 3: Es gibt verschiedene Möglichkeiten, CSV Dateien in einen SQL Server zu importieren.
SSIS, BULK INSERT, Powershell, ...
http://www.sqlteam.com/article/fast-csv-import-in-powershell-to-sql-server
Wenn Du etwas fertiges haben willst, stellt sich die Frage, was Du da an Funktionalität brauchst. Klar könnte man bspw. eine .NET Anwendung schreiben, die sowas inkl. Umformatierung, ... macht. Aber etwas allgemeingültiges kenne ich da derzeit nicht.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Mittwoch, 22. Oktober 2014 15:39
- Als Antwort markiert Patrick Pohlmann Donnerstag, 23. Oktober 2014 06:50
Alle Antworten
-
Hallo Patrick,
zu 1: Da gäbe es doch FIRSTROW.
http://msdn.microsoft.com/de-de/library/ms188365.aspx
zu 2: Warum erstellst Du dir nicht ein SSIS Paket?
http://blog.sqlauthority.com/2011/05/12/sql-server-import-csv-file-into-database-table-using-ssis/
Das lässt sich ja auch wiederverwenden.
zu 3: Es gibt verschiedene Möglichkeiten, CSV Dateien in einen SQL Server zu importieren.
SSIS, BULK INSERT, Powershell, ...
http://www.sqlteam.com/article/fast-csv-import-in-powershell-to-sql-server
Wenn Du etwas fertiges haben willst, stellt sich die Frage, was Du da an Funktionalität brauchst. Klar könnte man bspw. eine .NET Anwendung schreiben, die sowas inkl. Umformatierung, ... macht. Aber etwas allgemeingültiges kenne ich da derzeit nicht.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Mittwoch, 22. Oktober 2014 15:39
- Als Antwort markiert Patrick Pohlmann Donnerstag, 23. Oktober 2014 06:50