Alexander wieder: Konvertierung lokale Textdatei MySQL -> Excel ?

Moin,

ich habe ein großes Problem:

Ich habe eine Textdatei LOKAL gespeichert, in der oben "MySQL dump 8.21" steht, etwas tiefer dann der eigentliche Inhalt nach dem Schema:
"INSERT into werte VALUES (1,'inhalt','auch inhalt', 'mehr inhalt');"
Nun muß ich die kompletten Daten dieser Textdatei EINMALIG unbedingt irgendwie in MS Excel importiert bekommen.
Die Textdatei ist übrigens sehr umfangreich: 660 MB.
Leider habe ich von Datenbank und (My)SQL null Ahnung!

Gibt es vielleicht ein Programm, welches das erledigt?

Gruß
Alexander

  1. Nun muß ich die kompletten Daten dieser Textdatei EINMALIG unbedingt irgendwie in MS Excel importiert bekommen.

    Hast du die MySQL-Dumpfile selber erstellt? Es wäre aus Excel-Sicht sinnvoller, wenn die Daten als CSV vorlägen. M.W. kann mysqldump auch dieses Format, siehe u.a. http://www.html-world.de/program/mysql_9.php#csv.

    Gibt es vielleicht ein Programm, welches das erledigt?

    Ich habe mal DBCopy benutzt, ob es dir nutzt, musst du testen.

    Siechfred

    --
    Ich bin strenggenommen auch nur interessierter Laie. (molily)
    1. Hast du die MySQL-Dumpfile selber erstellt? Es wäre aus Excel-Sicht sinnvoller, wenn die Daten als CSV vorlägen.

      Nein, die Datei habe ich "aufgetischt" bekommen. Es ist auch nicht möglich, die Datei als CSV zu bekommen.

      Ich habe mal DBCopy benutzt, ob es dir nutzt, musst du testen.

      Wie ich das sehe, kostet DBCopy teuer Geld. Und die Demoversion ist zu eingeschränkt.
      Da ich es nur ein einziges Mal benutzen würde, wäre ein Kauf nicht so ideal.

      Alexander

  2. Hellihello,

    wieso bearbeitest du nicht den Text direkt? Also mit ein paar String-Ersetzungen hast Du doch, wenn Deine Angaben unten komplett sind, in kürzester Zeit ein CSV-Format...;

    Gruß,

    frankx

    1. Hallo,

      wieso bearbeitest du nicht den Text direkt? Also mit ein paar String-Ersetzungen hast Du doch, wenn Deine Angaben unten komplett sind, in kürzester Zeit ein CSV-Format...;

      660 MB
      die Wahrscheinlichkeit, dass einzelne Informationen aus 'inhalt', 'auch inhalt', 'mehr inhalt'
      durch einfache String-Ersetzungen kaputt gemacht werden, halte ich für nicht vernachlässigbar.

      Mein Vorschlag wäre:

      a) Installation MySQL (eine Sache von Minuten)
      b) Import des Dumps   (muss sowieso verarbeitet werden)
      c) Export des Dumps in einem Format, das Excel direkt einlesen kann
      d) Einlesen in Excel

      Weiterhin ist daran zu denken, dass Excel (in den mir zur Verfügung stehenden Versionen) eine Begrenzung auf 65536 Zeilen mit 256 Spalten je Tabellenblatt hat. Die Anzahl der Zeichen je Zelle ist auf 32767 beschränkt. (Quelle: Excel-Hilfe, Spezifikationen und Einschränkungen von Excel, Spezifikationen für Arbeitsblätter und Arbeitsmappen).

      Die Wahrscheinlichkeit, dass diese Grenzen überschritten werden, scheint mir hoch zu sein. Alexander sollte sich eine geeignete Strategie dafür ausdenken bzw. mit dem "Auftraggeber" absprechen, z.B. das Aufteilen in entsprechend viele Arbeitsblätter.

      Freundliche Grüße

      Vinzenz

      1. Hellihello,

        die Wahrscheinlichkeit, dass einzelne Informationen aus 'inhalt', 'auch inhalt', 'mehr inhalt'
        durch einfache String-Ersetzungen kaputt gemacht werden, halte ich für nicht vernachlässigbar.

        Mit Sicherheit nicht vernachlässigbar, aber Chancen könnte es geben, zum Beispiel "','" o.ä. zu ersetzen.

        Mein Vorschlag wäre:

        a) Installation MySQL (eine Sache von Minuten)
        b) Import des Dumps   (muss sowieso verarbeitet werden)
        c) Export des Dumps in einem Format, das Excel direkt einlesen kann
        d) Einlesen in Excel

        sicher die beste Methode.

        Weiterhin ist daran zu denken, dass Excel (in den mir zur Verfügung stehenden Versionen) eine Begrenzung auf 65536 Zeilen mit 256 Spalten je Tabellenblatt hat. Die Anzahl der Zeichen je Zelle ist auf 32767 beschränkt. (Quelle: Excel-Hilfe, Spezifikationen und Einschränkungen von Excel, Spezifikationen für Arbeitsblätter und Arbeitsmappen).

        Die Wahrscheinlichkeit, dass diese Grenzen überschritten werden, scheint mir hoch zu sein. Alexander sollte sich eine geeignete Strategie dafür ausdenken bzw. mit dem "Auftraggeber" absprechen, z.B. das Aufteilen in entsprechend viele Arbeitsblätter.

        Könnte theoretisch ja auch automatisiert via PHP und Excel-Writer passieren, falls das Sinn macht.

        Dank und Gruß,

        frankx

        1. Danke für die Antworten.

          a) Installation MySQL (eine Sache von Minuten)
          b) Import des Dumps   (muss sowieso verarbeitet werden)
          c) Export des Dumps in einem Format, das Excel direkt einlesen kann
          d) Einlesen in Excel

          sicher die beste Methode.

          So, ich habe nun MySQL und MySQL-Front installiert.
          Und nun? Wenn ich MySQL-Front starte, will er irgendeine Verbindung aufbauen. Aber warum, wohin, wie, was, und überhaupt?

          Wie gesagt: Ich habe von Datenbankzeugs null Ahnung - wenn überhaupt so viel.

          Gruß
          Alexander

          1. Hallo

            Danke für die Antworten.

            a) Installation MySQL (eine Sache von Minuten)
            b) Import des Dumps   (muss sowieso verarbeitet werden)
            c) Export des Dumps in einem Format, das Excel direkt einlesen kann
            d) Einlesen in Excel

            sicher die beste Methode.

            So, ich habe nun MySQL und MySQL-Front installiert.
            Und nun? Wenn ich MySQL-Front starte, will er irgendeine Verbindung aufbauen. Aber warum,

            Weil MySQL-Front eine Client-Anwendung ist und auf Daten eines Servers zugreifen will.

            wohin,

            vermutlich nach localhost

            wie,

            ich habe noch nie mit MySQL-Front gearbeitet.
            Es sollte über Named Pipes (da localhost) oder TCP/IP gehen.
            Ich weiß nicht, ob MySQL-Front Named Pipes beherrscht. Wenn nicht, dann nutze TCP/IP.

            was,

            eine Verbindung zum Datenbankserver. Über diese Verbindung möchtest Du anschließend Deinen Dump in eine Datenbank einlesen.

            und überhaupt?

            Du hast nun einen Datenbankserver. Du hast einen 660 MB großen Datenbankdump. Deine nächste Aufgabe ist es, diesen erfolgreich in eine Datenbank einzulesen. Du könntest dazu das Handbuch konsultieren. Du könntest die Forumssuche benutzen, Du könntest z.B. folgenden Archivthread durcharbeiten - und lernen, wie Du das machst.

            Wie gesagt: Ich habe von Datenbankzeugs null Ahnung - wenn überhaupt so viel.

            und warum hast Du diese Aufgabe erhalten und angenommen?
            Andererseits hat jeder mal bei Null angefangen. Fang also an. Datenbankmanagementsysteme haben auch Handbücher, auch MySQL.

            Freundliche Grüße

            Vinzenz

            1. Wie gesagt: Ich habe von Datenbankzeugs null Ahnung - wenn überhaupt so viel.

              und warum hast Du diese Aufgabe erhalten und angenommen?

              Weil man vorher nicht damit gerechnet hat, daß benötigte Daten in dieser Form vorliegen. Es geht ja auch gar nicht darum, was man mit Datenbanken alles anstellen kann, sondern nur um die enthaltenen Daten, um diese dann in Excel einzulesen und zu "verarbeiten".

              Andererseits hat jeder mal bei Null angefangen.

              Ooooh...

              Gruß
              Alexander

              1. Hallo Alexander,

                und warum hast Du diese Aufgabe erhalten und angenommen?

                Weil man vorher nicht damit gerechnet hat, daß benötigte Daten in dieser Form vorliegen. Es geht ja auch gar nicht darum, was man mit Datenbanken alles anstellen kann, sondern nur um die enthaltenen Daten, um diese dann in Excel einzulesen und zu "verarbeiten".

                dann hast Du (habt Ihr) eine wichtige Lektion gelernt:
                Es ist wichtig, Dateiformate für den Datenaustausch festzulegen.
                Formate, die der Lieferant mit zumutbarem Aufwand erstellen kann, Formate, die Du als Dienstleister mit vertretbarem Aufwand verarbeiten kannst.

                Andererseits hat jeder mal bei Null angefangen.
                Ooooh...

                Wie sieht es nun aus. Hat das Einlesen des Dumps in Deinen nagelneuen Datenbankserver geklappt, hat der Export geklappt? Wie sieht es mit den Begrenzungen aus, auf die ich aufmerksam gemacht habe? Wo stehst Du, oder woran hast Du Dich momentan festgebissen?

                Interessierte Grüße

                Vinzenz

                1. Hallo Vinzenz.

                  Formate, die der Lieferant mit zumutbarem Aufwand erstellen kann, Formate, die Du als Dienstleister mit vertretbarem Aufwand verarbeiten kannst.

                  "Dienstleister" klingt gut. ;-) "Armer Student im Studium" wäre passender. ;-)

                  Wie sieht es nun aus. Hat das Einlesen des Dumps in Deinen nagelneuen Datenbankserver geklappt, hat der Export geklappt? Wie sieht es mit den Begrenzungen aus, auf die ich aufmerksam gemacht habe? Wo stehst Du, oder woran hast Du Dich momentan festgebissen?

                  Sagen wir mal so:
                  Ich bin in MySQL-Front hilflos durch die Programmoberfläche geirrt, habe erfolglos fachenglische Texte übeflogen und bin dann in MySQL-Front 2.5 im Menüpunkt "Im-/Export" -> "Import Textfile" gelandet, der zwar vielversprechend ist, aber eine Fülle mir absolut gar nichts sagender Einstellmöglichkeiten bietet und trotz Auswahl besagter Textdatei beharrlich etwas von wegen "Error 1148: The used command is not allowed with this MySQL version" erzählt.

                  Seufz!
                  Alexander

                  1. Hallo Alexander,

                    Formate, die der Lieferant mit zumutbarem Aufwand erstellen kann, Formate, die Du als Dienstleister mit vertretbarem Aufwand verarbeiten kannst.

                    "Dienstleister" klingt gut. ;-) "Armer Student im Studium" wäre passender. ;-)

                    ein vorübergehender Zustand.

                    Ich bin in MySQL-Front hilflos durch die Programmoberfläche geirrt, habe erfolglos fachenglische Texte übeflogen und bin dann in MySQL-Front 2.5 im Menüpunkt "Im-/Export" -> "Import Textfile" gelandet, der zwar vielversprechend ist, aber eine Fülle mir absolut gar nichts sagender Einstellmöglichkeiten bietet und trotz Auswahl besagter Textdatei beharrlich etwas von wegen "Error 1148: The used command is not allowed with this MySQL version" erzählt.

                    das hört sich zunächst nicht gut an, allerdings ist MySQL-Front schon etwas älteren Datums und Du hast möglicherweise MySQL über XAMPP installiert - oder eine aktuelle Version direkt von MySQL. Ich habe mit MySQL-Front noch nie gearbeitet, immer nur mit PHPMyAdmin (was einen Webserver voraussetzt) oder den Tools von MySQL, siehe http://www.mysql.com/products/tools/, speziell mit MySQL-Administrator und MySQL-Query-Browser.

                    Kannst Du auf Deinen MySQL-Server zugreifen?
                    Wenn ja, setze bitte die Abfrage

                    SELECT VERSION()

                    ab und poste das Resultat. Wenn Du die Daten in MySQL hast, dann kannst Du vor allem auch recht einfach folgende Fragen beantworten:

                    - Um wieviele Zeilen handelt es sich (denke an das Excel-Zeilenlimit je Arbeitsblatt)
                     - wie groß sind die Feldinhalte (denke an das Excel-Zellenlimit)

                    Du kriegst den Import schon hin, keine Angst.

                    Freundliche Grüße

                    Vinzenz

                    1. Hallo Vinzenz.

                      das hört sich zunächst nicht gut an, allerdings ist MySQL-Front schon etwas älteren Datums und Du hast möglicherweise MySQL über XAMPP installiert - oder eine aktuelle Version direkt von MySQL. Ich habe mit MySQL-Front noch nie gearbeitet, immer nur mit PHPMyAdmin (was einen Webserver voraussetzt) oder den Tools von MySQL, siehe http://www.mysql.com/products/tools/, speziell mit MySQL-Administrator und MySQL-Query-Browser.

                      Kannst Du auf Deinen MySQL-Server zugreifen?
                      Wenn ja, setze bitte die Abfrage

                      SELECT VERSION()

                      ab und poste das Resultat.

                      Darf ich ehrlich sein? Ich verstehe nur Bahnhof von obigem! %-)
                      XAMMP, PHPMyAdmin, MySQL-Query sagt mir überhaupt nichts. Und wer oder was und wo ist mein MySQL-Server?
                      Stell' Dir vor, ich wäre der vielzitierte Dreijährige, dem man etwas erklären müßte. ;-)

                      Verzweifelnde Grüße
                      Alexander

                      1. Hallo Alexander,

                        Darf ich ehrlich sein? Ich verstehe nur Bahnhof von obigem! %-)
                        XAMMP, PHPMyAdmin, MySQL-Query sagt mir überhaupt nichts. Und wer oder was und wo ist mein MySQL-Server?
                        Stell' Dir vor, ich wäre der vielzitierte Dreijährige, dem man etwas erklären müßte. ;-)

                        ich versuche das mal (nein, nicht wie einem Dreijährigen. Meine jüngste Nichte ist inzwischen neun :-)):

                        Dein Ausgangsproblem:
                        Du hast eine Textdatei, die einen MySQL-Dump enthält, d.h. viele, viele SQL-Anweisungen. Diese Daten möchtest (sollst) Du in Excel weiterverarbeiten. Die derzeitige Idee lautet:

                        a) Installation MySQL (eine Sache von Minuten)
                        b) Import des Dumps   (muss sowieso verarbeitet werden)
                        c) Export des Dumps in einem Format, das Excel direkt einlesen kann
                        d) Einlesen in Excel

                        Zu a)
                        Zur Verwaltung von Datenbanken benötigst Du ein Datenbankmanagementsystem (DBMS). Zur Verwaltung von MySQL-Datenbanken ist MySQL besonders gut geeignet. Daher installierst Du das DBMS von MySQL.

                        MySQL ist eine Software in Client-Server-Architektur. Um MySQL nutzen zu können, benötigst Du auf der einen Seite den MySQL-Server. Unter Windows läßt sich dieser als Dienst installieren und somit bequem automatisch beim Systemstart starten lassen, ohne, dass man sich selbst drum kümmern muss. Auf der anderen Seite benötigst Du (mindestens) eine Client-Software, mit der Du auf den Server zugreifst, diesen verwaltest, Datenbanken anlegst, SQL-Dumps importierst und Daten in einem von Excel lesbaren Format exportierst.

                        Soweit verstanden? Wenn ja, prima. Ich nehme einfach an, Du hast die Version mit SETUP.EXE heruntergeladen und installiert.

                        Nun zur Clientsoftware. Mit dieser SETUP.EXE kommen eine Reihe von Kommandozeilenwerkzeuge, zum Beispiel mysqldump.exe, mit der sich Datenbanken sichern lassen - in ebensolche Dateien, wie Du sie vorliegen hast. Gleichermaßen läßt sich damit eine solche Sicherung wieder zurückspielen. Wie das geht, das steht in diesem Archivthread, den ich Dir schon einmal verlinkt hatte.

                        Möchtest Du lieber mit einem Werkzeug mit grafischer Benutzeroberfläche arbeiten, so könntest Du z.B. die Werkzeuge von MySQL nutzen, die ich Dir im vorherigen Posting verlinkt hatte:
                        "MySQL Administrator" und "MySQL Query Browser"

                        Und jetzt möchte ich wieder wissen, was Du davon bereits umgesetzt hast - und wo es noch fehlt.

                        Freundliche Grüße

                        Vinzenz

                        1. Moin Vinzenz.

                          Zur Verwaltung von Datenbanken benötigst Du ein Datenbankmanagementsystem (DBMS). Zur Verwaltung von MySQL-Datenbanken ist MySQL besonders gut geeignet.

                          Habe ich installiert. Von der verlinkten URL.
                          Die grafischen Sachen (GUI Tools) habe ich jetzt auch installiert.

                          Möchtest Du lieber mit einem Werkzeug mit grafischer Benutzeroberfläche arbeiten

                          Dann wäre mir die grafische Variante lieber.

                          so könntest Du z.B. die Werkzeuge von MySQL nutzen, die ich Dir im vorherigen Posting verlinkt hatte:
                          "MySQL Administrator" und "MySQL Query Browser"

                          Und jetzt möchte ich wieder wissen, was Du davon bereits umgesetzt hast - und wo es noch fehlt.

                          Das Problem ist nun, daß ich zwar einen Haufen SQL-Krams installiert habe, aber nicht weiß, wie ich es nun angehen soll:
                          Wenn ich MySQL Administrator oder MySQL Query Browser starte, muß ich Daten für eine Verbindung eingeben (z.B. Server-Host, Benutzername, Paßwort). Ich weiß aber nicht, welche. Als Server-Host habe ich "localhost" probiert und den Rest leer gelassen. -> Fehlernummer 2003: Konnte keine Verbindung aufnehmen.
                          (Der gleiche Fehler übrigens mit dem Kommandozeilenwerkzeug nach Paßwortabfrage (leer).) Ich habe nirgends ein Paßwort vergeben.

                          Hoffnungsvolle Grüße
                          Alexander

                          1. Hallo Alexander,

                            Wenn ich MySQL Administrator oder MySQL Query Browser starte, muß ich Daten für eine Verbindung eingeben (z.B. Server-Host, Benutzername, Paßwort). Ich weiß aber nicht, welche. Als Server-Host habe ich "localhost" probiert

                            das sollte richtig sein.

                            und den Rest leer gelassen. -> Fehlernummer 2003: Konnte keine Verbindung aufnehmen.

                            derzeit dürfte Dir ein Benutzer zur Verfügung stehen:
                            Benutzername: root

                            (Der gleiche Fehler übrigens mit dem Kommandozeilenwerkzeug nach Paßwortabfrage (leer).) Ich habe nirgends ein Paßwort vergeben.

                            Also hat root derzeit kein Passwort. Das ist für Deinen Zweck auch in Ordnung.
                            Mit Benutzername "root" (ohne die Anführungszeichen) und leerem Passwort sollte der Verbindungsaufbau zu "localhost" erfolgreich sein.

                            Freundliche Grüße

                            Vinzenz

                            1. Ooooh, ich werd' noch irre! ;-)

                              Wenn ich MySQL Administrator oder MySQL Query Browser starte, muß ich Daten für eine Verbindung eingeben (z.B. Server-Host, Benutzername, Paßwort). Ich weiß aber nicht, welche. Als Server-Host habe ich "localhost" probiert

                              das sollte richtig sein.

                              und den Rest leer gelassen. -> Fehlernummer 2003: Konnte keine Verbindung aufnehmen.

                              Mit Benutzername "root" (ohne die Anführungszeichen) und leerem Passwort sollte der Verbindungsaufbau zu "localhost" erfolgreich sein.

                              Schön wär's. Server-Host "localhost", Benutzer "root", Port 3306, Rest leer -> gleiche Fehlermeldung wie oben! Ping bringt "Reply from 127.0.0.1: Time=0ms TTL=128".

                              Langsam doch verzweifelnde Grüße
                              Alexander

                              1. Hallo Alexander,

                                Ooooh, ich werd' noch irre! ;-)

                                ja, das hätte ich mir einfacher gedacht:

                                a) Installation MySQL (eine Sache von Minuten)

                                Mit Benutzername "root" (ohne die Anführungszeichen) und leerem Passwort sollte der Verbindungsaufbau zu "localhost" erfolgreich sein.

                                Schön wär's. Server-Host "localhost", Benutzer "root", Port 3306, Rest leer -> gleiche Fehlermeldung wie oben! Ping bringt "Reply from 127.0.0.1: Time=0ms TTL=128".

                                Erste Überprüfung: Läuft der MySQL-Server?

                                a) MySQL wurde als Dienst installiert:
                                   Systemsteuerung
                                       Verwaltung
                                           Dienste
                                           (in der Liste müsste MySQL stehen mit Status "Gestartet")

                                b) MySQL wurde nicht als Dienst installiert:
                                   Starte MySQL über die entsprechende Verknüpfung im Startmenü
                                   (Anmerkung: ich habe bisher unter Windows MySQL immer als Dienst installiert)

                                Freundliche Grüße

                                Vinzenz

                                1. Huhu Vinzenz,

                                  Erste Überprüfung: Läuft der MySQL-Server?

                                  Der MySQL-Dienst war zwar installiert, aber nicht gestartet und ließ sich auch nicht starten.
                                  Also den ganzen MySQL-Krempel deinstalliert und neuinstalliert - und siehe da: jetzt ist der Dienst gestartet und ich kann scheinbar auch drauf zugreifen. (erstes Erfolgserlebnis) :-)

                                  Jetzt nur das Problem: wie kriege ich die Datenbankdatei eingelesen?
                                  "Datei -> öffnen" gibt's da nicht. ;-)
                                  Das einzig Vielversprechende war im aktuellen HeidiSQL (auch installiert) "Import -> Load SQL-file" - das bringt aber nur einen "out of memory"-Fehler.

                                  Hoffnungsvolle Grüße
                                  Alexander

                                  1. Hallo Alexander,

                                    Erste Überprüfung: Läuft der MySQL-Server?

                                    Der MySQL-Dienst war zwar installiert, aber nicht gestartet und ließ sich auch nicht starten.

                                    davon hab' ich gelegentlich gelesen - aber das ließ sich meines Wissens nicht reproduzieren :-(

                                    Also den ganzen MySQL-Krempel deinstalliert und neuinstalliert - und siehe da: jetzt ist der Dienst gestartet und ich kann scheinbar auch drauf zugreifen. (erstes Erfolgserlebnis) :-)

                                    Jetzt nur das Problem: wie kriege ich die Datenbankdatei eingelesen?
                                    "Datei -> öffnen" gibt's da nicht. ;-)

                                    Bitte versuche folgendes:

                                    • Verbinde Dich mit dem MySQL-Administrator zu Deinem MySQL-Server.
                                    • Wähle in der Navigation den Menüpunkt "Wiederherstellung" aus.
                                    • Nun hast Du die Möglichkeit eine Datei zu öffnen
                                    • Wähle aus, dass Du in eine neue Datenbank wiederherstellen möchtest
                                          - Gebe einen Namen für diese Datenbank an
                                    • Klicke auf Starten

                                    Entweder Du bekommst Fehlermeldungen (setze nicht das Häkchen, diese zu ignorieren) oder der Import funktioniert. Ich hoffe letzteres.

                                    Freundliche Grüße

                                    Vinzenz

                                    1. Hallo wieder.

                                      Bitte versuche folgendes:

                                      • Verbinde Dich mit dem MySQL-Administrator zu Deinem MySQL-Server.
                                      • Wähle in der Navigation den Menüpunkt "Wiederherstellung" aus.
                                      • Nun hast Du die Möglichkeit eine Datei zu öffnen
                                      • Wähle aus, dass Du in eine neue Datenbank wiederherstellen möchtest
                                            - Gebe einen Namen für diese Datenbank an
                                      • Klicke auf Starten

                                      Soweit alles kein Problem.
                                      Dann aber ...

                                      Entweder Du bekommst Fehlermeldungen (setze nicht das Häkchen, diese zu ignorieren) oder der Import funktioniert. Ich hoffe letzteres.

                                      Nee, nicht letzteres.
                                      Es kommt die Fehlermeldung "Die Dumpdatei wurde nicht mit MySQL Administrator erstellt. Momentan können aber nur solche Dumps wiederhergestellt werden." und sonst passiert nüscht.
                                      Und wenn ich es doch versuche mit "Fehler ignorieren", kommen beim Wiederherstellversuch unzählige "Warning: Error while executing this query"-Meldungen.

                                      Hüülfäääää!
                                      Alexander

                                      1. Hallo Alexander,

                                        Es kommt die Fehlermeldung "Die Dumpdatei wurde nicht mit MySQL Administrator erstellt. Momentan können aber nur solche Dumps wiederhergestellt werden." und sonst passiert nüscht.

                                        Mein MySQL-Administrator, mit dem ich das getestet habe, ist Version 1.1.9, der Dump weist die Versionsnummer 10.9 auf - damit ging es.

                                        Lege bitte mit MySQL-Administrator eine neue Datenbank an, das machst Du im Menüpunkt Catalogs (Kontextmenü unterhalb des Auswahlfeldes Schemata). Ich habe meine Datenbank self genannt.

                                        Mit

                                        pfad\zu\mysql.exe -D self -u root -p < pfad\zur\sql-Datei.sql

                                        habe ich an der Kommandozeile meinen Dump problemlos importieren können.

                                        Freundliche Grüße

                                        Vinzenz

                                        1. Hallo Vinzenz.

                                          Mein MySQL-Administrator, mit dem ich das getestet habe, ist Version 1.1.9, der Dump weist die Versionsnummer 10.9 auf - damit ging es.

                                          Ich habe MySQL 1.2.9, der Dump ist MySQL dump 8.21.

                                          Lege bitte mit MySQL-Administrator eine neue Datenbank an, das machst Du im Menüpunkt Catalogs (Kontextmenü unterhalb des Auswahlfeldes Schemata). Ich habe meine Datenbank self genannt.

                                          Okay, habe ich gemacht (ich hab' sie mal "ich" genannt. ;-) )

                                          Mit

                                          pfad\zu\mysql.exe -D self -u root -p < pfad\zur\sql-Datei.sql

                                          habe ich an der Kommandozeile meinen Dump problemlos importieren können.

                                          Ich habe das auch gemacht, dann hat der PC ca. 20 Minuten gearbeitet, Fehlermeldungen gab's zum Glück nicht. Im Schema "ich" im MySQL Administrator steht jetzt auch was drin.

                                          Nur wie genau kriege ich den Dump jetzt in ein von Excel lesbares Format?
                                          Wenn ich den MySQL Query Browser bemühe, stoppt er den Einlesevorgang mittendrin und erzählt etwas davon, daß das System aufgrund der Größe sonst nicht mehr reagieren würde, daher werde der Einlesevorgang gestoppt. Und wenn ich das, was er dann eingelesen hat, über "Ergebnismenge in Datei speichern" versuche als .xls-Datei zu speichern, bastelt er eine 2,7 GB (!) große Exceldatei daraus, bei der Excel sich weigert, sie zu öffnen.

                                          Viele Grüße
                                          Alexander

                                          1. Hallo

                                            Ich habe das auch gemacht, dann hat der PC ca. 20 Minuten gearbeitet, Fehlermeldungen gab's zum Glück nicht. Im Schema "ich" im MySQL Administrator steht jetzt auch was drin.

                                            Wenn Du das Schema "ich" anwählst, kannst Du Dir mal verschiedene Daten anzeigen lassen:

                                            a) Wieviele Tabellen gibt es?
                                            b) Wieviele Zeilen haben die einzelnen Tabellen?
                                               Wird das Excel-Maximum von 65536 Zeilen überschritten?
                                               Wenn ja, hast Du das nächste Problem.

                                            Zum Export in eine CSV-Datei hast Du (mindestens) zwei Möglichkeiten:

                                            a) Kommandozeile
                                               pfad\zu\mysqldump -u root -p -T pfad\zu\csv-datei --fields-terminated-by=; --fields-optionally-enclosed-by=" ich tabellenname

                                            b) mit SELECT INTO OUTFILE, siehe http://www.php-faq.de/q/q-mysql-csv-export.html

                                            Viel Erfolg!

                                            Vinzenz

                                            1. Hello again.

                                              a) Wieviele Tabellen gibt es?

                                              Eine Tabelle ist drin.

                                              b) Wieviele Zeilen haben die einzelnen Tabellen?
                                                 Wird das Excel-Maximum von 65536 Zeilen überschritten?
                                                 Wenn ja, hast Du das nächste Problem.

                                              Öhm, hüstel ... gut 2,8 Mio. (!) Zeilen werden angezeigt.

                                              Zum Export in eine CSV-Datei hast Du (mindestens) zwei Möglichkeiten:

                                              a) Kommandozeile
                                                 pfad\zu\mysqldump -u root -p -T pfad\zu\csv-datei --fields-terminated-by=; --fields-optionally-enclosed-by=" ich tabellenname

                                              b) mit SELECT INTO OUTFILE, siehe http://www.php-faq.de/q/q-mysql-csv-export.html

                                              Hm, beim ersten wird mir nur die korrekte Benutzung des Befehls statt dessen von mir gewünschte Ausführung angezeigt, beim zweiten kriege ich 'ne Fehlermeldung - wie genau müßte der Befehl für das 2. aussehen?

                                              Wie kann ich denn so viele Daten trotzdem in Excel kriegen?

                                              Langsam verliere ich den Überblick ... %-(

                                              Puh!
                                              Alexander

                                              1. Hallo Alexander,

                                                a) Wieviele Tabellen gibt es?

                                                Eine Tabelle ist drin.

                                                b) Wieviele Zeilen haben die einzelnen Tabellen?
                                                   Wird das Excel-Maximum von 65536 Zeilen überschritten?
                                                   Wenn ja, hast Du das nächste Problem.

                                                Öhm, hüstel ... gut 2,8 Mio. (!) Zeilen werden angezeigt.

                                                das ist eine schlechte Nachricht, die aber auch ihre guten Seiten hat. Wenn ich an die 660 MB große Textdatei denke, wovon wiederum etwas Overhead ist, so komme ich auf weniger als 300 Byte pro Zeile im Durchschnitt, d.h. die Begrenzung von ca. 32000 Zeichen pro Zelle dürftest Du nicht erreichen.

                                                Du wirst ca. 42 Arbeitsblätter benötigen, vielleicht willst Du die Daten auch auf mehrere Arbeitsmappen aufteilen, damit die Dateigrößen im Rahmen bleiben. Gehe einfach davon aus, dass Excel doppelt soviel Speicherplatz benötigt wie Deine Textdatei groß war, da Excel die Daten im UTF-16-Format speichert (soweit ich mich erinnere).

                                                Wie könntest Du nun vorgehen:
                                                Mein Vorschlag wäre es, mit ODBC aus Excel heraus auf MySQL zuzugreifen. Dazu benötigst Du zuallererst wieder etwas Neues, den ODBC-Treiber für MySQL und Windows.

                                                Nachdem Du diesen installiert hast, musst Du einen DSN (Data Source Name) konfigurieren, wie im Handbuch beschrieben. Anschließend kannst Du (manuell) so vorgehen, wie im Kapitel UsingConnector/ODBC with Microsoft Word or Excel beschrieben, für jedes Arbeitsblatt mit einer eigenen Abfrage, wobei Du die Portionen durch die Verwendung der LIMIT-Klausel abtrennst.

                                                SELECT  
                                                    *                      -- ja, auch ich verwende mal SELECT * :-)  
                                                FROM tabelle               -- bitte hier den Namen Deiner Tabelle verwenden  
                                                LIMIT 0,65000              -- Die ersten 65000 Datensätze  
                                                  
                                                SELECT  
                                                    *                      -- ja, auch ich verwende mal SELECT * :-)  
                                                FROM tabelle               -- bitte hier den Namen Deiner Tabelle verwenden  
                                                LIMIT 65000,65000          -- Die Datensätze 65000 bis 130000  
                                                  
                                                SELECT  
                                                    *                      -- ja, auch ich verwende mal SELECT * :-)  
                                                FROM tabelle               -- bitte hier den Namen Deiner Tabelle verwenden  
                                                LIMIT 130000,65000         -- Die Datensätze 130000 bis 195000  
                                                
                                                

                                                und so weiter. Ich denke, Du verstehst das Prinzip. Für jedes Arbeitsblatt jeweils eine Abfrage. Du dürftest 42 oder 43 Blätter benötigen. Sollte nach dem ersten erfolgreichen Zugriff auch von Hand in maximal zwei Stunden fertig sein. Ich empfehle Dir, für jede Abfrage eine neue Arbeitsmappe zu nehmen. Zusammenfügen kannst Du ja später noch.

                                                Die Alternative wäre das programmgesteuerte Erstellen dieser Arbeitsmappen (bzw. Tabellenblätter über Visual Basic for Applications). Wenn Du damit bisher noch nichts gemacht hast, dann lass es jetzt für diesen Zeitpunkt einfach bleiben. Ich denke, Du wirst froh sein, wenn die Daten endlich in Excel sind.

                                                Du solltest Dir nun noch überlegen, ob Du die Tabellenblätter bis zum Rand füllst - oder lieber mindestens 50 Zeilen frei läßt, so dass Platz ist für Verweise auf die anderen Blätter. Ich empfehle Dir, einfach 65000 Zeilen pro Blatt zu nehmen, es läßt sich dann leicht rechnen.

                                                Viel Erfolg - und falls Du Fragen bei einem der Schritte haben solltest, weißt Du ja, wo Du Antworten findest.

                                                Vinzenz

                                                1. Hallo Vinzenz.

                                                  Viel Erfolg - und falls Du Fragen bei einem der Schritte haben solltest, weißt Du ja, wo Du Antworten findest.

                                                  Okay, dann werde ich mich damit mal befassen.
                                                  Allerdings erst nach dem Wochenende. ;-)

                                                  Vielen, vielen Dank für Deine nette und geduldige Hilfe! :-)

                                                  Schönes Wochenende
                                                  Alexander

                                  2. Hello,

                                    Jetzt nur das Problem: wie kriege ich die Datenbankdatei eingelesen?
                                    "Datei -> öffnen" gibt's da nicht. ;-)
                                    Das einzig Vielversprechende war im aktuellen HeidiSQL (auch installiert) "Import -> Load SQL-file" - das bringt aber nur einen "out of memory"-Fehler.

                                    Versuch es auf jeden Fall noch mit dem MySQL-Front-Client.
                                    Der kann auch Megabyte-Klötze verarbeiten.
                                    Ich habe übrigens zuletzt den Ver 3.2 verwendet.
                                    Ich habe ihn mir ebenfalls gespeichert.

                                    Harzliche Grüße vom Berg
                                    http://www.annerschbarrich.de

                                    Tom

                                    --
                                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                                    Nur selber lernen macht schlau

                                    1. Hallo Tom.

                                      Versuch es auf jeden Fall noch mit dem MySQL-Front-Client.
                                      Der kann auch Megabyte-Klötze verarbeiten.
                                      Ich habe übrigens zuletzt den Ver 3.2 verwendet.
                                      Ich habe ihn mir ebenfalls gespeichert.

                                      Das einzige, was ich befunden habe, ist MySQL-Front 2.5.
                                      Über "Im-/Export -> Import Textfile" kriege ich dort nur ein "MySQL Error: 1148 - The used command is not allowed with this MySQL version".
                                      Muß ich irgendwas bei den Einstellungen im Importfenster ändern?

                                      Schöne Grüße
                                      Alexander

            2. Hello,

              ich habe noch nie mit MySQL-Front gearbeitet.

              Einfach aufrufen, eine Verbindug zum zuvor gestarteten DB-Server herstellen.
              MySQL Front hat einen Menüpunkt für das Einlesen einer kompletten Datei in das SQL-Befehlsfenster.

              Wichtig wäre nur zu wissen, ob in der Dump-Datei auch mindestens ein CREATE-Statement enthalten ist. Manche "Dumper" lassen das ja einfach aus Bequemlichkeit oder Unwissenheit weg...

              Harzliche Grüße vom Berg
              http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau

  3. Hello,

    Vinzenz hat es im Prinzip schon beschrieben.

    Auf einem Windows-Client würde ich MySQL aus dem XAMMP-Paket installieren und mit MySQL-Front dann die Datei importieren und anschließend wieder im CSV-Format exportieren. Mit Excel lässt sich diese Datei dann wieder importieren.

    http://apachefriends.de
    http://bitworks.de/software/mysql/MySQL-Front_2.5_Setup.exe

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hello,

      Hello,

      Vinzenz hat es im Prinzip schon beschrieben.

      Auf einem Windows-Client würde ich MySQL aus dem XAMMP-Paket installieren und mit MySQL-Front dann die Datei importieren und anschließend wieder im CSV-Format exportieren. Mit Excel lässt sich diese Datei dann wieder importieren.

      http://apachefriends.de
      http://bitworks.de/software/mysql/MySQL-Front-2.5/MySQL-Front-2.5_Setup.exe

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

      1. Hallo Tom,

        http://bitworks.de/software/mysql/MySQL-Front-2.5/MySQL-Front-2.5_Setup.exe

        zu Deiner Information: Der Nachfolger von MySQL-Front heißt HeidiSQL.

        Freundliche Grüße

        Vinzenz

        1. Hello Vinzenz,

          http://bitworks.de/software/mysql/MySQL-Front-2.5/MySQL-Front-2.5_Setup.exe

          zu Deiner Information: Der Nachfolger von MySQL-Front heißt HeidiSQL.

          Ist ja heiß.
          Ich hätte es gerne gleich mal ausprobiert, aber ich bekomme mein MySQL auf dem Arbeitsplatz nicht mehr zum Laufen...

          Und er Apache beklagt sich auch wieder über einen kaputten WinSocket. Das wird wieder ein Akt!

          Harzliche Grüße vom Berg
          http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau

      2. Hello,

        Hello,

        Hello,

        Vinzenz hat es im Prinzip schon beschrieben.

        Auf einem Windows-Client würde ich MySQL aus dem XAMMP-Paket installieren und mit MySQL-Front dann die Datei importieren und anschließend wieder im CSV-Format exportieren. Mit Excel lässt sich diese Datei dann wieder importieren.

        http://apachefriends.de
        http://bitworks.de/software/mysql/MySQL-Front-3.2/MySQL-Front-3.2_Setup.exe

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom
        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau