Access et MySQL ou PostgreSQL
Peut-on convertir une base Access au format MySQL ou PostgreSQL ?
Oui. Deux techniques sont envisageables :
Fichier texte
Traduisez les définitions de vos tables Access au format SQL (CREATE TABLE
…) et faites-en un fichier texte (du style tables.sql
). Ensuite, du côté de MySQL ou PostgreSQL, tapez la commande qui intègrera ce fichier texte dans la base de destination de façon à recréer les tables (consultez la documentation de ces systèmes pour plus de détails).
Vous pouvez procéder de même pour les données, en tapant dans un fichier texte des commandes SQL d’insertion (INSERT INTO
), commandes qui seront ensuite exécutées dans la base d’arrivée.
Attention : la syntaxe des commandes SQL varie généralement un peu d’un système à un autre. Le format des dates, notamment, est différent dans Access et dans MySQL. Pensez à faire les conversions !
Passerelle ODBC
L’autre solution consiste à installer sur votre machine un pilote (ou driver) ODBC gérant la connexion entre Access et MySQL ou PostgreSQL. Vous trouverez ces drivers sur les sites concernés (adresses plus bas).
Une fois le driver en place, une connexion est possible entre Access et votre base d’arrivée. Vous pouvez alors recréer les tables de plusieurs manières : en manuel depuis Access, via un fichier texte comme expliqué plus haut, ou via des requêtes « SQL Pass Through ».
Le transfert des données sera plus facile que par fichier texte, puisqu’il peut s’effectuer par des requêtes Ajout, depuis l’interface graphique d’Access.
Notes
Dans les deux cas, il existe des passerelles automatisées en Visual Basic, qui vous feront gagner un temps précieux dans l’étape de transfert. Consultez les sites www.mysql.com ou www.postgresql.org, ou faites une recherche Google en tapant par exemple comme mots-clefs : access mysql converter
Des bases comme MySQL ou PostgreSQL font uniquement du stockage de données, elles ne comportent pas nécessairement d’interface graphique. Les formulaires et états ne peuvent donc être convertis.