Tipps zur Schema.ini – Datei von CSV-Files

Wer mit CSV-Dateien arbeitet und diese zum Beispiel automatisiert in eine SQL-Datenbank oder in die eigene Anwendung importieren möchte, kommt kaum um die sogenannten Schema.ini – Dateien herum.

In diesem Artikel möchte ich Euch zeigen wie so eine Datei aufgebaut ist und ein paar Tipps geben worauf Ihr besonders achten müsst!

Was ist eine Schema.ini – Datei?

Eine Schema.ini-Datei beschreibt das Format und die Inhalte einer CSV-Datei,  sie muss im selben Ordner wie die CSV-Datei liegen und hat den Name „Schema.ini“ zu tragen.

Informationen zum Aufbau von CSV-Dateien findet Ihr in meinem Artikel Was ist ein CSV-File – Grundlagen und Details des Datenformates.

Schema-Syntax

Jede Schema.ini – Datei beginnt zunächst mit dem Dateinamen für den diese Datei gültig ist.

Die Syntax für die erste Zeile sieht wie folgt aus:

[Dateiname.txt]

Als nächstes kommen dann Angaben zum Format wie zum Beispiel

Format=Delimited(;)

Als Trenner sind übrigens alle Zeichen erlaubt, sogar das Leerzeichen, außer den Anführungstrichen!

Tipp: Wenn Ihr neben dem Delimiter auch den Qualifier festlegen wollt (zum Beispiel Anführungsstriche), dann müsst Ihr dies mit dieser Angaben machen:

TextDelimiter=“

Da meistens die Anführungsstriche genommen werden, haben wir auch schon den Grund, weshalb keine als Delimiter genutzt werden dürfen.

Zum Schluss kommen dann häufig die Spaltendefinitionen, die aber nicht zwingend notwendig sind. Hier ein Beispiel:

Col2=SpaltenName Text Width 30

Tipp: Wenn Ihr Spaltennamen benutzt, die Leerzeichen besitzen z.B. „Adresse Wohnort“, dann müssen diese Spaltennamen in Anführunssrichen geschrieben werden:

Col2=“Adresse Wohnort“ Text Width 30

Tipp: Da Anführungsstriche den Anfang und das Ende des Spaltennamens kennzeichnen, dürfen im Spaltennamen selbst keine Anführungsstriche vorkommen!

Weitere mögliche Parameter für Schema.ini-Files findet Ihr auf dieser Microsoft-Seite.

Was ist, wenn keine Schema.ini vorhanden ist?

Wenn keine Schema-Datei vorhanden ist, werden die jeweiligen Standard-Einstellungen des Betriebssystems vom Treiber genommen.

Leider sind diese aber nicht immer gleich!

So ist manchmal als Trenner ein Komma und mal eine Semikolon standardmäßig eingestellt, darauf darf man sich also nicht verlassen!

Es ist also beim automatischen Importieren absolut wichtig eine Schema.ini zu haben!