Dieses Dokument beschreibt das Produkt CSVUtil für Anwender.
Kommentare bitte per e-mail an Michael Brauchl:
mcyra at chello dot at. Das Dokument kann
beliebig weiterverbreitet werden. Das Dokument ist in der derzeitigen Version 1.0
nur in deutscher Sprache verfügbar. Es wäre nett, wenn sich ein geneigter
Übersetzer in die englische Sprache finden würde.
Copyright (C) bei Michael Brauchl (2007). Alle Rechte vorbehalten.
Ganz Eilige laden das Programm gleich hier.
In letzter Zeit erhielt ich öfters CSV-Dateien, die dann zur
Weiterverarbeitung in MySQL importiert werden mussten.
Dabei musste ich besonders bei Dateien mit sehr vielen Spalten immer wieder
feststellen, dass ich stundenlang Bits und Bytes gezählt habe, da die
Importdateien oft nicht optimal formatiert waren.
Ein Import über ODBC schied leider aus, da die Provider der Daten natürlich
keine SCHEMA.INI Datei zur Verfügung gestellt haben, um die Spalten zu
definieren.
Warum werden solche INI-Dateien eigentlich nicht von den Export-Programmen
erzeugt? - Egal.
Nun habe ich mich einmal hingesetzt und ein Analysetool geschrieben, dass
die "optimale" Tabellendefinition für MySQL erledigt und die Daten lädt.
Hurra - nur mehr 5 Minuten Arbeit - auch mit grossen Dateien!
CSVUtil erledigt, was wir bisher manuell durchgeführt haben:
Um dieses Programm zu nutzen muss ein MySQL-Server ab Version 4.0 oder
grösser vorhanden sein.
Das Programm läuft am Client oder Server auf allen Windows-Versionen.
Der Server mit der MySQL Datenbank kann auch auf einem anderen System,
z.B. im Internet laufen, Daten können auch remote geladen werden.
Die Installation von CSVUtil gestaltet sich relativ einfach.
Laden Sie sich die Datei
hier herunter.
Entpacken Sie den Inhalt in ein Verzeichnis Ihrer Wahl.
Nun starten Sie einfach die Datei "csvutil.exe";
CSV-Datei - Geben Sie hier den Namen jener Datei an, die nach
MySQL geladen werden soll.
Durch Klick auf die Schaltfläche
"Auswählen" können Sie die Datei von Ihrem Computer auswählen.
Server - Der Name des MySQL Servers, auf den die CSV-Datei
hochgeladen werden soll.
Benutzername - Ihr MySQL-Benutzername, mit der Berechtigung zum
Zugriff auf den o.a. Server.
Paßwort - Ihr MySQL Paßwort für den Benutzer.
Datenbank - Jene Datenbank in der die Tabelle ist, oder angelegt
werden soll, in die dann die Daten geladen werden.
Tabelle - Der Name der Tabelle. Ist die Tabelle vorhanden und leer,
werden die Daten in diese Tabelle geladen. Ist die Tabelle noch nicht
vorhanden, wird sie angelegt.
Bytes lesen - Die Anzahl der Bytes der CSV-Datei, die für die
Analyse der Spalten benutzt werden soll. Bei Auswahl der CSV-Datei
wird dieser Wert automatisch auf die volle Dateigröße gesetzt.
Bei sehr großen Ladedateien empfiehlt es sich, den Wert auf ca.
2.000.000 Byte zu reduzieren um die Analysephase kürzer zu halten.
Von wo laden - CSVUtil kann Dateien remote, von Ihrem lokalen
Rechner aus, oder am Server selbst laden. Wenn Ihr Server im Netzwerk oder
im Internet steht, und Sie die CSV-Datei bei sich lokal gespeichert haben,
dann wählen Sie hier "Lokal".
Führen Sie aber CSVUtil direkt auf dem Server aus, auf dem MySQL
installiert ist, dann wählen Sie "Server" aus.
Nicht alle MySQL-Server snd so konfiguriert, dass das Laden vom lokalen
Rechner auch funktioniert. Außerdem ist die Performance beim Laden
übers Netzwerk schlechter, als wenn Sie direkt am Server selbst arbeiten.
Temp-Verz. - Wählen Sie hier jenes Verzeichnis aus, in dem die
temporäre Ladedatei erstellt werden soll. Ihr Benutzer muss Schreibrechte
in dem Verzeichnis haben.
Import - Die Schaltfläche "Import" startet den Vorgang. Meldungen
während des Ladens werden im Textfeld "Ausgabe" ausgegeben.
Nach Klick auf die Schaltfläche "Import" werden Ihre Einstellungen in der
Datei "csvutil.ini", im gleichen Verzeichnis, in dem Sie CSVUtil
installiert haben, gespeichert. Beim nächsten Start von CSVUtil werden diese
Einstellungen eingelesen.
Achtung: In der vorliegenden Version von CSVUtil wird Ihr MySQL
Passwort unverschlüsselt in der Datei csvutil.ini gespeichert!
Nun startet die Analysephase. Zuerst wird festgestellt, welches Trennzeichen in der CSV-Datei benutzt wurde. Danach wird das Tausendertrennzeichen und das Kommaformat festgestellt.
Dann beginnt die Feldanalyse. Sind viele Felder in Hochkomma eingeschlossen dauert diese Analyse etwas länger. Reduzieren Sie im Bedarfsfall die Menge der zu lesenden Bytes.
Ist die Analyse abgeschlossen wird die erste Zeile auf Feldnamen geprüft.
Danach wird die Ladedatei erstellt und nach MySQL geladen.
Ist der Ladevorgang abgeschlossen, erscheint das Wort "Fertig"
im Ausgabebereich.