Home

CSVUtil Version 1.0

Status dieses Dokumentes

schema 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-Hinweis

Copyright (C) bei Michael Brauchl (2007). Alle Rechte vorbehalten.

Ganz Eilige laden das Programm gleich hier.

Inhaltsverzeichnis

  1. Einleitung
    1. Nutzen/Features
    2. (System-) Voraussetzungen
  2. Installation
  3. Bedienung
  4. Download von CSVUtil
  1. Einleitung

    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!

    1. Nutzen / Features
    2. (System-) Voraussetzungen
    1. Nutzen / Features

      CSVUtil erledigt, was wir bisher manuell durchgeführt haben:

      • Man muss das, im CSV benutzte Trennzeichen nicht kennen, es wird automatisch ermittelt.
      • Datumsformate in Deutsch und Englisch, oder platzsparend als Zahl werden automatisch erkannt.
      • Bei Zahlen wird die optimale Feldtype für MySQL ermittelt, wenn ein TINYINT für eine Zahl genügt, wird auch nur ein TINYINT angelegt.
      • Dezimalzeichen und Tausendertrennzeichen wird ebenfalls automatisch erkannt.
      • Wenn in der Headerzeile der CSV-Datei Feldnamen stehen werden diese erkannt und beim Anlegen der Tabelle benutzt, es wird aber auch erkannt, wenn die erste Zeile keine Feldnamen enthält.
      • Die erforderliche Tabelle wird automatisch angelegt, ist die Tabelle vorhanden und leer, wird sie benutzt, ist die Tabelle vorhanden und befüllt erfolgt ein Abbruch.
      • Bei sehr, sehr grossen Datenmengen kann die Analyse auf z.B. die ersten 1.000.000 Byte beschränkt werden, aber es wird trotzdem die ganze Datei dann später in die Datenbank geladen.
    2. (System-) Voraussetzungen

      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.

  2. Installation

    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";

  3. Bedienung


    Folgende Eingaben sind erforderlich:

    Screenshot of CSVUtil 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.

  4. Download


    Zum Download geht es hier.

Home

counter