7
votes

Transférer MySQL à SQLite

Je veux commencer à utiliser la date de base sur iPhone avec des bases de données MySQL préexistantes. Quel est le moyen le plus simple de transférer une base de données MySQL sur SQLite?

J'ai essayé d'utiliser la migrateur SQLite, mais je ne sais pas où trouver les pilotes ODBC pour Mac (Snow Leopard). J'ai trouvé http://www.ch-werner.de/sqliteodbc/ qui semble avoir Les pilotes, mais ils sont pour Power PC.

Si quelqu'un pouvait me donner une procédure pas à pas, ou dites-moi quels sont les meilleurs outils pour cela, je serais reconnaissant.

Merci.


2 commentaires

Est-ce une chose une fois ou avez-vous besoin de le faire à plusieurs reprises?


Je le ferais de temps en temps et à plusieurs reprises. Je connais MySQL, alors je préfère travailler dans cela, mais il faut le convertir pour iPhone.


7 Réponses :


1
votes

Avez-vous regardé Ce script perl ? Je ne l'ai pas utilisé - il suffit d'une recherche rapide de MySQL à la migration de SQLite et elle a éclaté correctement.


modifier (après avoir répondu à mon commentaire):

La direction inverse est traitée ici .

si Vous allez le faire à plusieurs reprises et si des changements de structure de données doivent arriver, vous seriez peut-être préférable d'utiliser quelque chose comme Django < / a> (bien que de manière très pirate). Avec elle, je voudrais: xxx


1 commentaires

Merci d'avoir répondu. Je pense que je veux quelque chose avec un apprentissage minimal et mis en place, car je ne vais pas le faire cela souvent.




6
votes

Peut-être que le plus simple serait d'utiliser mysqldump pour vider Le SQL brut de votre base de données MySQL dans un fichier texte, puis utilisez le sqlite3_exec () fonction Pour exécuter ce SQL afin de remplir la base de données SQLITE.


3 commentaires

C'est un dialecte légèrement différent de SQL, en particulier en ce qui concerne les schémas de création de table.


Bon point. Je suppose que si le schéma changeait rarement que vous pouviez vider uniquement les données de la base de données MySQL et avoir un fichier Script / SQL distinct qui a construit la base de données SQLITE. Vous auriez également besoin de spécifier --Pomplet-Insérer à MySqldump. SQLite ne peut pas gérer les inserts composés (voir Question 1609637).


+1 pour mysqldump. Bien qu'il existe des différences entre la syntaxe MySQL et SQLite, vous pouvez facilement trouver une recherche et remplacer par votre logiciel ou un script préféré car les différences sont minimes. Par exemple, l'autocrampe est différent. Si c'est quelque chose que vous allez faire régulièrement, vous pouvez écrire votre propre script ou trouver celui que quelqu'un d'autre a écrit pour rendre votre mysqldump compatible avec SQLite.



-1
votes

Il existe un produit ETL gratuit qui peut être utilisé pour migrer des données d'une DB à une autre. Regardez: http://www.talend.com/index.php

bonne chance!


1 commentaires

Acheteur méfiez-vous - ce site Web est phishing.



0
votes

Vous pouvez obtenir des pilotes ODBC pour Mac OS X des technologies réelles.

http://www.actualtech.com/

Pour vous connecter à MySQL, vous avez besoin de son pilote ODBC pour des bases de données open source:

http://www.actualtech.com/product_opensourcedatabases.php

(Disclaimer: Je suis l'auteur de SQLite Migrator)


0 commentaires

1
votes

Voici une liste de convertisseurs:


0 commentaires

-1
votes

Pour faire mes conversions, j'ai fini par utiliser un ODBC de l'accès réel . Je pense que je l'ai utilisé en combinaison avec Migrateur Sqlite . Je n'ai jamais aimé cela bien que c'était toujours maladroit. Cher aussi, cela a fini par coûter environ 80 $ pour ces deux logiciels.

Si je devais le faire à nouveau, j'achèterais SQLITECONVERTER par sqlabs. J'utilise leur gestionnaire SQLite et, bien qu'il ait beaucoup de problèmes d'interface, pour le logiciel de base de données, ce n'est pas mauvais.

http://www.sqlabs.net/sqliteconverter.php


0 commentaires