Forum: PC-Programmierung SQLite zu MySQL


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jens (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen,

ist es problemlos möglich eine SQLite Datenbank in eine MySQL bzw. Maria 
Datenbank zu übertragen? Also sowohl Schema als auch Daten?
Fals ja, wie und mit welchem Betriebssystem/welchen Tools würde das ganz 
grob beschrieben ablaufen?

Viele Grüße
Jens

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
Warum sollte das nicht gehen?

Du musst nur die Syntax des von SQLite erzeugten SQL-Dumps auf 
Kompatibilität zum SQL-Dialekt von My/MariaSQL überprüfen.

Betriebssysteme? Die, die Du verwendest.

Tools?

a) Zu SQLite gibt es ein Kommandozeilentool, das Dir sowohl das 
Datenbankschema als auch die Tabelleninhalte in Textform als 
SQL-Anweisung ausgeben kann.

https://sqlite.org/cli.html

b) Das My/MariaSQL-Verwaltungswerkzeug Deiner Wahl, wie z.B. HeidiSQL 
oder was auch immer Du auf Deinem Betriebssystem verwendest.

von T.roll (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Such dir bei Google eines der vielen, vielen Programme aus:
Suchbegriff: sqlite2mysql

von Jens (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> Warum sollte das nicht gehen?
>
> Du musst nur die Syntax des von SQLite erzeugten SQL-Dumps auf
> Kompatibilität zum SQL-Dialekt von My/MariaSQL überprüfen.

Hallo Rufus,

genau deswegen frage ich ja, weil ich mir eben nicht sicher bin, wie 
viel Aufwand da möglicherweise dranhängt, weil die Kompatibilität des 
Dumps beim Schema, den Datentypen oder der Syntax abweicht. Die Frage 
hätte wohl besser lauten sollen, ob man mit Tools explizit einen 
MySQL-Dump erzeugen kann? Das würde ich jetzt unter Problemlos 
verstehen.
Oder wenn ich ein (kostenpflichtiges) Tool benutze, wo sich der 
Hersteller bereits mit der Problematik auseinander gesetzt hat.
Das Betriebssystem habe ich offen gelassen, weil ich sowohl mit OS X, 
Linux und Windows arbeite und es ja teilweise Tools nicht für jede 
Platform gibt.

Bei mir geht es konkret darum, dass ich ein Apple Addresbuch inklusive 
Relationen (Gruppenzugehörigkeit, x Telefonnummern, etc.) in MySQL 
importieren möchte, welches angenlich auf SQLite basieren soll. Ich kann 
alternativ auf dem Mac via Adressbuch-API auf die Datensätze zugreifen, 
müsste diese mangels nativer MySQL-Unterstützung dann aber wohl mit 
einem WebService in meine MySQL-Datenbank übertragen. An der Stelle 
fragte ich mich, ob ich nicht besser gleich 1:1 die Datenbank importiere 
und dann mit sinnvollen Abfragen die von mir benötigten Daten in das 
Datenmodell meiner Datenbank transformiere? Wenn ich damit allerdings 
aufgrund diverser Unvorhersehbarkeiten viel Zeit verbringen kann, 
beschäftige ich mich lieber gleich mit dem WebService.

Ich hatte gehofft, dass hier jemand schon mal so etwas gemacht hat und 
mir ein einwandfrei funktionierendes Tool oder Skript empfehlen kann. 
Die Datei, die ich für die Adressbuch-Datenbank halte, beginnt mit 
"SQLite format 3".

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Dann sieh Dir doch einfach mal an, welchen Output das sqlite-Tool 
generiert.

Oder ist Dir SQL generell ein Buch mit 9 Siegeln?

von c.m. (Gast)


Bewertung
1 lesenswert
nicht lesenswert
ich kenne sqlite nicht, und mysql nur sehr wenig - komme aus der oracle 
ecke - aber:
http://www.sqlitetutorial.net/sqlite-dump/

im dump stehen die tabellendefinitionen (siehe "albums.sql"). 
problematisch wirds, wenn mysql entweder ein feature nicht unterstützt 
(foreign key constraints, autoincrement, stored procedures, was auch 
immer…) oder, weniger schlimm, eine andere syntax verwendet (die eckigen 
klammern beim create table z.b.).

einfach mal sqlite dumpen, und anschauen was drin ist - wie viele 
tabellen, und was für DB-features genutzt werden.

von Georg (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> b) Das My/MariaSQL-Verwaltungswerkzeug Deiner Wahl

Wenn es sich um eine Website handelt, gibt es Online-Verwaltungstools, 
bei Apache-Servern z.B. phpMyAdmin, Provider wie Strato haben eigene 
Tools. Darin gibt es Funktionen für Export und Import der jeweiligen 
Datenbank.

Georg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.