Téléchargement
illégal
Posez votre question Signaler

Migrer bdd access vers mysql [Résolu]

sansfaçon - Dernière réponse le 15 mai 2012 à 10:29
Bonjour à tous, j'aimerais savoir comment faire pour migrer une base de données access vers mysql, si cela est possible.

Si cela est possible, quelqu'un pourrait il m'expliquer les méthodes à effectuer merci d'avance .
Lire la suite 

Migrer bdd access vers mysql »

55 réponses
Réponse
+34
moins plus
Voici la page du site de MySQL qui explique comment exporter une base ACCESS vers MySQL:
http://dev.mysql.com/doc/mysql/fr/msaccess.html
Il faut suivre les différentes étapes(22.1.11.1 à 22.1.11.13).

voici un petit résumé, c'est une mini doc que je viens de faire pour toi.
Ca me sera toujorus utile par la suite(on oublie vite les détails techniques).

1)Mise en plase d’une connexion de type ODBC à un serveur MySQL.
2)Utilisation d’ACCESS pour gérer une base de données MySQL.
3)Exporter une base ACCESS vers MySQL.
4)Importer des données d’une base MySQL dans une base ACCESS.


1)Mise en plase d’une connexion de type ODBC à un serveur MySQL.

1.1)télécharger puis installer le pilote CONNECTOR/ODBC 3.51 pour MySQL: http://dev.mysql.com/downloads/connector/odbc/3.51.html
(choisir la version selon l’OS, Windows, Linux, Solaris,...)

1.2)Sous WinXP/2k, aller dans Panneau de config.>Outils d'administration>Sources de données(ODBC) et cliquer sur l'onglet "Pilotes ODBC" pour voir la liste des pilotes ODBC, si la ligne "MySQL ODBC 3.51 driver" apparaît c'est que le pilote est bien installé.

1.3) cliquer sur l'onglet "Sources de données utilisateurs" puis sur le bouton "Ajouter", la liste des pilotes apparaît, sélectionner "MySQL ODBC 3.51 driver" puis cliquer sur "terminer". Cela permet de créer une connexion ODBC qui est un canal de transmission de données vers UNE SEULE base de données du serveur MySQL. On peut créer plusieurs connexions ODBC vers le même serveur MySQL. Chaque connexion gèrera une seule base de données.
On pourra transmettre des informations vers MySQL en utilisant toutes sortes de logiciels(via ODBC) qui ont rapport aux bases de données(ACCESS et autres).

1.4)La fenêtre de paramètrage de la connexion ODBC vers MySQL apparaît avec l'onglet "Login":

Data source name: identifiant de la connexion ODBC/MySQL.
On met un nom qui permet de savoir quelle base de données est gérée par cette connexion.
ex: MaBaseFacturesSurMySQL

Description:(facultatif) Infos sur cette connexion

Server: localhost (ou l'adresse IP du serveur si le serveur MySQL est sur une autre machine)

User: nom d'utilisateur ayant accès à votre base
Password: mot de passe utilisateur

Database: ici on choisit la base de données qui sera gérée par cette connexion.
ex:Factures

Dans l'onglet "Connect option" on peut éventuellement mettre le numéro de port du serveur MySQL si ce n'est pas le port standard.

Dans l'onglet "Advanced" on a des options concernant les paramétrages à effectuer lors du transfert de données(types, disable transactions,...).
Cliquer sur "OK", dans la liste des sources de données "MaBaseFacturesSurMySQL" doit apparaître.

2)Utilisation d’ACCESS pour gérer une base de données MySQL.

2.1)Lorsque ACCESS a démarré, cliquer sur Fichier>Ouvrir, dans la fenêtre d’ouverture de fichier, cliquer sur la liste "Type de fichiers" et sélectionner le type: ODBC Databases ().
La fenêtre de sélection de source de données apparaît, cliquer sur l’onglet "Source de données machine" pour voir apparaître la listes des sources de données.
(Dans cette fenêtre, on peut également créer une nouvelle connexion en cliquant sur le bouton "Nouveau" qui relance les étapes 1.3 et 1.4)

Sélectionner "MaBaseFacturesSurMySQL" et cliquer sur "OK".

2.2)Une fenêtre permet de choisir les tables que l’on veut gérer depuis ACCESS.Sélectionner la ou les tables désirées puis "OK".

2.3) on travaille ensuite comme avec une base ACCESS sauf qu’il y’a des limitations dues à la différence entre MySQL et ACCESS donc on ne peut pas tout gérer depuis l’interface d’ACCESS.
Astuce : après avoir ouvert une base de données, cliquer avec le bouton droit sur une des tables et créer un raccourci vers le bureau, cela permettra d’éviter de faire à chaque fois les étapes 2.1 et 2.2.Vérifier que les changements sont bien pris en compte directement sur le serveur MySQL(sans passer par ACCESS).

3)Exporter une base ACCESS vers MySQL.

3.1)Ouvrir une base de données ACCESS(*.mdb) et sélectionner une table.
3.2)Cliquer sur Fichier>Exporter et choisir le Type de fichier "ODBC Database ()" puis "OK".
3.3)Mettre le nom de destination de la table(en général on laisse le même nom que sous ACCESS mais on peut le modifier si besoin) puis "OK".
3.4)Cliquer sur Sources de données machine et choisir "MaBaseFacturesSurMySQL" puis "OK".

4)Importer des données d’une base MySQL dans une base ACCESS.
3.1)Ouvrir une base de données ACCESS(*.mdb).
3.2)Cliquer sur Fichier>Données externes>Importer...et choisir le Type de fichier "ODBC Database ()" puis "OK".
3.3) Cliquer sur Sources de données machine et choisir "MaBaseFacturesSurMySQL" puis "OK". Choisir les tables à importer puis "OK".
Ju - 16 avril 2012 à 20:01
Merci beaucoup pour ces détails !
Toggy - 15 mai 2012 à 09:32
Bonjour !
Merci tes explications mais j'ai encore un petit problème pour ma part!
Je n'utilise pas MySQL mais le drivers ODBC de Sage (logiciel de compta gestion commercial) afin de faire le lien entre ma BDD ACCESS et le logiciel Sage.
Bref l'étape 2 marche à merveille en suivant la meme démarche que pour mySQL
Mais pour l'étape 3 un message d'erreur s'affiche :
[Simba] [Simba Engine ODBC Driver] Unsupported SQL command is statement. (#0)

Je ne trouve rien sur les forums ce message d'erreur te dis quelque chose?

Merci d'avance !!
Neveux cédric - 15 mai 2012 à 10:29
Bonjour,
à piori, une commande SQL n'est pas supportée par le driver SIMBA qui permet d'accéder a ta base SAGE.

D'après ce que j'ai vu Simba développe les pilotes ODBC pour plusieurs types de bases de données.
Est-ce que tu as bien le bon driver ODBC pour ta base SAGE?
Je connais un peu SAGE et je sais que suivant les versions on peut utiliser des bases de données de type cbase(je crois que ce sont des bases conçues par SAGE) mais on peut aussi utiliser des bases SQLServer et peut-être d'autres(Oracle?...).
Donc il est possible que ton driver ODBC ne soit pas exactement le bon pour ta base de données et que cela bloque pour certaines commandes SQL. Donc c'est à vérifier.

Et puis fais des recherches sur Simba, cela pourra peut-être t'aider.
J'ai vu des infos concernant Simba et SAGE, par exemple :
http://www.commentcamarche.net/forum/affich-713602-probleme-odbc
Sans pouvoir tester, je ne pourrais pas t'aider plus que ça.

Bon courage.
Ajouter un commentaire
Réponse
+4
moins plus
Salut
moi, j'ai creer mes table dans une base de donnée mySQL

puis j'ai exporter les donnée de mes table Access en txt
que j'ai importer dans mysql

y a peut etre unautre systeme
mais je ne le connais pas
et cela marche tres bien comme ca

bye
Ajouter un commentaire
Réponse
+3
moins plus
Bonjour nico66,

il est impossible de se connecter aux serveurs MySQL de free depuis l'extérieur.Càd que seuls les sites hébergés sur leurs serveurs peuvent y accéder. Je pense que le contrôle d'accès s'effectue sur les adresses IP.Seuls les serveurs de FREE sont autorisées à accéder à MySQL.
Voici la page où tu peux voir cette information:
http://faq.free.fr/?q=521

Cela signifie qu'il n'y a que 2 moyens d'accéder à ta base sur FREE, les scripts PHP de ton site perso ou l'interface phpMyAdmin à l'adresse suivante http://sql.free.fr
Ajouter un commentaire
Réponse
+2
moins plus
Me suis enfin inscrit sur le site comme ça ça ira plus vite pour mes prochains messages.
Ajouter un commentaire
Réponse
+1
moins plus
J'éspère que ça ira comme réponse ça me semble clair mais si jamais y'a des questions n'hésite pas!
@+
Ajouter un commentaire
Réponse
+1
moins plus
J'ai dis dans un précédent message qu'on pouvait se connecter à n'importe quel serveur MySQL lorsqu'on a son adresse IP et son numéro de port.
J'aurai du préciser une chose: on peut se connecter à n'importe quel serveur SAUF si l'accès est restreint par l'administrateur.
Si l'administrateur n'autorise la connexion au serveur MySQL que depuis une certaine plage d'adresses IP, les connexions provenant d'autres adresses IP seront refusées.
ex: on autorise la connexion seulement depuis 192.168.0.10 et 192.168.0.11

si votre adresse IP est 192.168.0.5 ou toute autre adresse IP, vous ne pourrez pas vous connecter.
nico66 - 24 mai 2005 à 18:09
c'est ok mais par quels moyens puis je me connecter à une base de donnée access ?

Si je veux que ma base de donnée access soit consultable et modifiable depuis l'extérieur de chez moi (ou d'une entreprise) comment devrais je m'y prendre ???

Merci
Neveux cédric- 25 mai 2005 à 00:20
Heu là, je ne vois pas bien le rapport avec MySQL?Je crois que ça change de sujet.

Pour accéder à une base de données ACCESS depuis l'extérieur je ne sais pas du tout comment procéder car je n'ai jamais travaillé sur ce sujet.Il faudrait que tu cherches dans le forum les discussions parlant plus spécifiquement d'ACCESS et des moyens d'y accéder .

Cependant, je pense qu'on peut faire un programme en langage ASP qui accèdera à une base de données ACCESS.Il doit y avoir plusieurs manière d'accéder à une base ACCESS.

Si tu souhaites que les utilisateurs puissent accéder à des formulaires ACCESS depuis un site extérieur, il faut encore chercher dans les forums.

Donc le mieux serait que tu expliques ton projet pour qu'on puisse te donner des idées.
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour,

j'ai un serveur linux avec php mysql, sur une station de travail j'ai installé mysql-odbc.
1) la connexion à partir d'access XP (2002) fonctionne bien
je fait un lien à partir d'access sur une table mysql :
la consultation des données à partir d'access ok
la suppression des données à partir d'access ok
par contre lorsque je veux mettre des données dans la table à partir d'access, j'ai un message d'erreur : Type de donnée SQL hors limites(#0).

quelqu'un aurai une solution ?

merci
lina012Neveux cédric - 27 mai 2008 à 09:47
bonjour NeveuxCedric !! Bonjour tt le monde
en fait , je trouve que tes explications sur la migration de access à mysql sont super succintes et super intéressantes , ça m'a beaucoup aidé à comprendre pas mal de choses .
Cependant , j'ai un petit souci , mon appli est en vb ; derrière j'ai la base type access et je veux migrer vers mysql , mais en fait il faut que j'intégre une fonction dans mon code qui fasse ceci ! une fonction disons de mise à jour qui sera exécutée une seule fois aprés l'ouverture de l'appliet qui me dervira aussi pour les autres appli à migrer , donc elle va être à peu prés générale. j'opte pour un lien externe pour le faire , donc changer du DAO à ODBC au lieu de ADO .
mais par contre je ne sais pas du tout comment m'y prendre ! si quelqu'un a une idée de comment je dois procéder , qu'il n'hésite pas à poster.
Merci à tous.
Neveux Cédric - 27 mai 2008 à 10:17
Désolé lina mais je n'y connais rien en VB alors je ne peux pas trop t'aider.
D'ailleurs si tu connais des sites vraiment bien pour apprendre le VB.NET, je veux bien que tu m'indiques les liens.
J'espère que quelqu'un pour t'aider.

Ciao

Cédric
lina012- 27 mai 2008 à 10:21
je suis encore en vb 6 avec l' ADO
merci quand même .
oui je posterai un message dés que je trouverai la solution .
cordialement,

Lina
Ajouter un commentaire
Réponse
+0
moins plus
bonjour,
je sais grace à votre documentation comment migrer des
donnees de ACCESS versd MYODBC, mais je suis perdue
quand il s'agit de migrer de MYODBC vers mysql.
pouvez vous m'aider??
NEIPP CHRISTINE - 11 mai 2005 à 09:52
bonjour,
je vous remercie pour votre réponse.
En fait j'ai migré comme option 3. migration de ACCESS vers
MYSQL une dizaine de tables. Tout c'est bien passé mais je ne
parvient pas à visualiser mes tables sous mysql c'est pourquoi
je pensais que la migration ne c'est pas bien faite.
Comment est-il possible aprés la migration de visualiser sous MYSQL LES TABLES ??? y-a-t-il a faire une manipulation sous
MYSQL ???
NEIPP CHRISTINE - 11 mai 2005 à 11:17
Merci pour tout, j'ai trouvé la réponse moi-meme en fait
il suffit de se connecter au control center pour voir les
differentes tables qui sont migrées. TChao.
Neveux cédric- 11 mai 2005 à 14:19
Je suis ravi d'avoir pu vous aider , en cas de soucis n'hésitez pas à m'envoyer un nouveau message, bonne journée et à bientôt.

Cédric
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
grace à vous j'ai migre une base access vrs mysql ,mais je ne sais pas comment afficher les tables et voir est ce que les relatiions sont respecter.
merci d'avance.
Ajouter un commentaire
Réponse
+0
moins plus
Pour afficher les tables sous MySQL, il ya plusieurs solutions:
1ère solution vous utilisez le programme "mysql" qui doit être lancé dans la commande msdos si vous ne savez pas utiliser cet outil , il faudrait chercher un cours pour apprendre les bases de l'utilisation de mysql, ça serait trop long pour moi de tout expliquer.

Si vous avez déjà utilisé cet outil, il suffit de taper un requête SQL qui affichera toutes les information de votre table
ex:
SELECT * FROM nomdelatable;

puis vous faites la même chose pour chaque table de votre base de données.

Sinon il existe des logiciels graphiques qui permettent de voir le contenu de vos bases MySQL.
Le plus simple est , je pense, de télécharger "MySQL Administrator" et "MySQL Query Browser" sur le site www.mysql.com/products.

MySQL Administrator permet de se connecter n'importe quelle serveur MySQL si vous connaissez l'adresse IP de l'ordinateur et le numéro de port ainsi que l'utilisateur et le mot de passe.
Si le serveur MySQL est sur votre PC, l'adresse sera localhost(ou 127.0.0.1) et le port par défaut est 3306.
Avec cela vous pourrez gérer vos bases de données.

MySQL Query Browser permet de voir le contenu des tables des BDD et de tester vos requêtes SQL.

J'éspère que cela vous aidera bien.

Bonne journée et à bientôt!
Cédric NEVEUX.


nico66 - 24 mai 2005 à 13:29
salut

j'ai un problème pour me connecter à ma base Mysql avec la fenêtre de paramètrage de la connexion ODBC vers MySQL


Ma base de données se trouve sur le serveur Mysql de free, sql.free.fr

Dans la fernêtre de paramêtrage:
Data source name : je met le nom de ma base
Server : je met proxy.free.fr
User : mon nom d'utilisateur
Password : mon numéro de passe
Port : le numéro de port (renseignements donnée sur la lettre de free reçue)

Et lorsque je fais Test, il apparaît ce message d'erreur :
[MYSQL][ODBC 3.51 Driver]Lost connection to MySQL server during query


Aidez moi pour ce problème de connexion !
Merci
Ajouter un commentaire
Réponse
+0
moins plus
bonjour,

lors d'une recherche sur le même sujet "migrer bdd access vers mysql" je suis tombé sur cette page, j'ai appliquée les étapes qu'a expliqué Neveux cédric, mais j'ai un problème: à l'étape 2.2 quand je selectionne ma base de donnée Access depuis la listes des sources de données dans l’onglet "Source de données machine" et je clique sur OK, ca marche pas et il me sort le message:
[MySQL][ODBC 3.51 Driver]Accès refusé pour l'utilisateur 'ODBC'@'@localhost'(mot de passe:NON) puis il m'affiche " acces refusé"
sachant que dans la fenetre "Cofigure Data Souce nName" je n'entre rien dans les champs "User" et "Passeword" care ma base de donnée n'est pas sécurisée!!!
je ne comprend pas pourquoi il arrive pas à appeler la base de donnée Access!!!
please help me!
Neveux cédric- 8 juin 2005 à 22:27
Bien que ta base ne soit pas "sécurisée", tu es obligé d'avoir un utilisateur pour accéder à ta base de données.
Pa r défaut sur un système MySQL, on a l'utilisateur 'root' sans mot de passe.
Essayes donc de mettre root comme utilisateur et cela devrait fonctionner.
Ajouter un commentaire
Réponse
+0
moins plus
bonjour
concernant le prob de non connexion il faut que tu vérifie que ton serveur MYSQL est démarré sinon on peut pas faire une connexion
alors si tu as MYSQL comme un service Windows alors
panneau de configuration
outils d'administration
services
et ensuite tu cherche MYSQL
normalement après ça marche car j'ai rencontré le même problème
Ajouter un commentaire
Réponse
+0
moins plus
bonjour,
merci cédric pour ces informations. En fait j'ai réalisé la première étape que vous avez décrit sauf que moi j'ai besoin de gérer une base MYSQL directement sans passer par ACCESS avec une connexion ODBC et à partir d'un programme en C++.
connaissez vous la méthode en C++ ou la classe qui permet d'établir la connexion ainsi que ses diffèrents paramètres du système et de la base...
merci
Neveux cédric- 21 juil. 2005 à 17:19
Bonjour limouna,

en ce qui concerne l'accès à MySQL via ODBC en utilisant le langage C++, tu devrais aller sur le site de mysql, il y a les explications pour utiliser une base mysql avec différents langages de prog.

Sachant que Mysql est écrit en C, il y a une bibliothèque fournie avec le serveur mysql. Je pense que tu peux voir comment accéder au serveur grâce à ça.
Peut-être peux-tu utiliser cette api dans un prog en C++?Je ne sais pas, je n'ai fais qu'un tout petit peu de c et c++ y'a longtemps.

Je t'ai mis le lien de la page sur mysql.com:
http://dev.mysql.com/downloads/
, il y a même un lien pour les utilisateurs de C++:
http://tangentsoft.net/mysql++/
Gilles Mki - 16 févr. 2006 à 09:53
Bonjour à tous,
La description sur la migration de Access vers Mysql via le pilote ODBC de Mysql que Neveux cédric a décrit m’a beaucoup aidé. Mais moi j’ai une problème que voici.
Après migration je trouve toute mes tables sur mysql avec les donnée tout es correcte sauf une que lorsque je veux accéder à ma base Mysql par PhpMyAdmin (ver 2.6.2), la colonne ou y a la liste des bases sous mysql n’a pas de problème mais la fenêtre principal ou est affiché les tables avec leurs structures complète et ou s’affiche le donnée d’une table sélection à du mal à se charger pour certain base de donnée (dés que le nombre de table de la base de donnée dépasse 17).
Vu à l’écran on a l’impression que la fenêtre à du mal à être charger et ça pendant longtemps si quelqu’un à déjà rencontré ça prière m’aider. Je précise que j’ai installé et configure PHP5, PhpMyAdmin 2.6.2 et MySql 5 séparément (sans utiliser EasyPhp)
Merci d’avance.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour !
M. Neveux ou les autres, j'aurais besoin de vos lumieres (en espérant, vu la date des posts, que vous consultiez encore ce topic)

Je suis à la lettre toutes les étapes de 1 à 3. Etape 3.4, je clique sur OK, mais rien... je ne vois rien se connecter, aucune table n'est exportée, et lorsque je vérifie avec php MyAdmin, je ne vois pas la nouvelle table exportée.
C'est tres désagréable!!
De la meme maniere, pour l'importation depuis une base mySQL, je fais fichier, importer, je sélectionne ma DSN, je fais ok, mais une fois encore, rien ne se passe...

C'est frustrant !! Jusqu'à présent j'étais obligé de convertir mes tables en csv pour les transférer vers mySQL mais c'est pluot long et répétitif :(

Quelqu'un aurait une idée de la raison pour laquelle mes imports-exports ne donnent absolument rien?
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
J'ai suivi la démarche énnoncée au dessus pour migrer ma base de donnée vers MySQL. Ca marche nickel pour migrer une table. Mais comme ma base de donnée contient pas mal de tables, je me demandais s'il n'existait pas une solution plus simple pour migrer une base de donnée vers MySQL que de migrer table par table.

Merci bien
em - 6 févr. 2007 à 08:53
Bonjour,

J'ai utilisé un outil appelé Access2MySQL Pro 5 pour migrer la base d'Access vers MySQL. La migration de la structure de la base elle-même s'est correctement déroulée. Attention, en mode démonstration de cet outil, concernant le transfert des données, seules les 10 premières lignes de chaque table sont transférées.

Eric.
Ajouter un commentaire
Réponse
+0
moins plus
j'ai migrer ma bdd comme énoncé ici, maintenant j'aimerais savoir s'il est possible de faire des mise a jour de ma base mysql depuis ma base access? merci d'avance
Ajouter un commentaire
Réponse
+0
moins plus
Merci, tu est trop fort....
Moi, on m'a fournis une base access complétement términée, afin de la transformer en site web.

Pour le transfert de la bdd, c'est ok! grace à ton explication.

Pour le reste, je pourrais réécrire les requettes en php, mais j'ai peur de faire des erreures car elles sont un peu complexes.

Alors, je me demande s'il est possible de transferer les interfaces (formulaires) access, ainsi que leurs requettes en fichiers html et php.

Je vous remercie d'avance.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour ramiline et tout le monde,
j'ai exactement le probleme que toi...j'ai une base access toute faite avec des modules en VB...aujourd'hui je la reprend sous forme de site web et justement je veux savoir si l'adaptation ou la transcription d'access (tables_req._form_modules) en PHP_HTML_CSS_JS est possible.
Merci de m'aider
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Je prends connaissance de ce post très intéressant et je suis en train de le mettre en application.
J'ai monté des bases de données Access 2000 que je dois envisager de transférer sur MySql, ce qui pour moi va s'avérer aussi simple que déplacer une montagne avec une petire cuillère.

Les paramétrages semblent s'être passés correctement par rapport aux indications ci-dessus, mais je coince sur le message d'erreur suivant lorsque, depuis Access, j'exporte une table sur ODBC :"ODBC -- l'appel a échoué."
Même chose si je tente d'importer des données depuis l'ODBC.

Merci de votre aide.
Ajouter un commentaire
Réponse
+0
moins plus
s'il vous plait aider moi en me disant ou donnée des cours pour connaitre utiliser le mysql server ou base de données access pour programmer les pages web
Ajouter un commentaire
Ce document intitulé « migrer bdd access vers mysql » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
migrer bdd access vers mysql - page 2