2016-04-21 13 views
0

Ich lerne immer noch SQL Server.Laden TXT-Datei in SQL Server-Datenbank

Das Szenario ist, dass ich viele .txt Dateien mit Namensformat wie DIAGNOSIS.YYMMDDHHSS.txt haben und nur die YYMMDDHHSS unterscheidet sich von Datei zu Datei. Sie werden alle im Ordner Z:\diagnosis gespeichert. Wie kann ich eine gespeicherte Prozedur schreiben, um alle .txt Dateien mit einem Namen im Format DIAGNOSIS.YYMMDDHHSS.txt im Ordner Z:\diagnosis hochzuladen? Dateien können nur einmal geladen werden.

Vielen Dank

Antwort

3

Ich würde es nicht mit einem gespeicherten proc. Ich würde SSIS verwenden. Es hat eine für jede Datei Aufgabe, die Sie verwenden können. Wenn die Datei geladen wurde, würde ich sie an einen Speicherort im Archiv verschieben, damit sie beim nächsten Mal nicht verarbeitet wird. Alternativ könnten Sie eine Tabelle erstellen, in der Sie die Namen der Dateien speichern, die erfolgreich verarbeitet wurden und die für jede Dateischleife alle in dieser Tabelle überspringen lassen, aber dann erhalten Sie immer mehr Dateien zum Durchlaufen, besser zum Verarbeiten von Dateien zu einem anderen Ort, wenn du kannst.

Und persönlich würde ich auch die Dateidaten in eine Zwischenspeichertabelle legen, bevor die Daten in die Final Table geladen werden. Wir verwenden zwei von ihnen, einen für die Rohdaten und einen für die bereinigten Daten. Dann transformieren wir in Staging-Tabellen, die den relationalen Tabellen in der Produktion entsprechen, um sicherzustellen, dass die Daten die Anforderungen erfüllen, bevor sie die Produktion beeinflussen und Ausnahmen an eine Ausnahmetabelle von Datensätzen senden, die aus dem einen oder anderen Grund nicht eingefügt werden können. Wenn Sie im Gesundheitswesen arbeiten, sollten Sie sicherstellen, dass Ihr Prozess die gesetzlichen Vorschriften für die Speicherung von Patientenakten für das Land erfüllt, in dem Sie sich befinden, sofern vorhanden (siehe HIPAA in den USA). Möglicherweise müssen Sie direkt in die Produktion laden oder den Zugriff auf Staging-Tabellen und -Dateien stark einschränken.

+0

Etwas wie dieses ... https://www.mssqltips.com/sqlservertip/2874/loop-through-flat-files-in-sql-server-integration-services/ – nscheaffer

Verwandte Themen