Migration Access -> MySql
Topper Harley
-
lina012 Messages postés 51 Statut Membre -
lina012 Messages postés 51 Statut Membre -
Bonjour à tout ceux qui me liront,
Mon problème est le suivant: j'ai importé mes base Access vers MySql. Ces bases sont en réseau et les clients y accèdent via une base Access (qui contient requêtes, formulaires, états) par des ponts ODBC. Mais lorsque je veux modifier ces données importées, le message suivant apparaît:
"Cet enregistrement a été modifié par un autre utilisateur depuis que vous avez commencé à le modifier. Si vous enregistrez vos modifications, vous écraserez celles effectuées par l'autre utilisateur."
3 boutons me sont proposés:
- enregistrement (bouton desactivé)
- copier dans le presse papier
- annuler
Je tiens à préciser que je suis le seul accédant à ces données étant en train de bidouiller les bases!
En revanche, lorsque je saisit les données et que celles ci sont directement enregistrées dans la base MySql, aucune difficulté pour les modifier...
Le guide MySql conseille de vérifier que toutes les tables contiennent clé primaire (c'est ok de ce côté), de mettre de double float (c'est ok aussi) ou d'ajouter une colonne de type TIMESTAMP (c'est pas ok).
Expliquer moi ce qu'il veulent faire avec cette colonne?!?
Infos diverses:
Pc client sous Win2000, serveur Compaq sous Red Hat 8.0 Pro, Access 2000, MySql 23, connexion Access-MySql via pont ODBC (v3.51.06)
Merci à tous
Guillaume
Mon problème est le suivant: j'ai importé mes base Access vers MySql. Ces bases sont en réseau et les clients y accèdent via une base Access (qui contient requêtes, formulaires, états) par des ponts ODBC. Mais lorsque je veux modifier ces données importées, le message suivant apparaît:
"Cet enregistrement a été modifié par un autre utilisateur depuis que vous avez commencé à le modifier. Si vous enregistrez vos modifications, vous écraserez celles effectuées par l'autre utilisateur."
3 boutons me sont proposés:
- enregistrement (bouton desactivé)
- copier dans le presse papier
- annuler
Je tiens à préciser que je suis le seul accédant à ces données étant en train de bidouiller les bases!
En revanche, lorsque je saisit les données et que celles ci sont directement enregistrées dans la base MySql, aucune difficulté pour les modifier...
Le guide MySql conseille de vérifier que toutes les tables contiennent clé primaire (c'est ok de ce côté), de mettre de double float (c'est ok aussi) ou d'ajouter une colonne de type TIMESTAMP (c'est pas ok).
Expliquer moi ce qu'il veulent faire avec cette colonne?!?
Infos diverses:
Pc client sous Win2000, serveur Compaq sous Red Hat 8.0 Pro, Access 2000, MySql 23, connexion Access-MySql via pont ODBC (v3.51.06)
Merci à tous
Guillaume
A voir également:
- Migration Access -> MySql
- Migration windows 7 vers windows 10 - Accueil - Mise à jour
- Mysql community download - Télécharger - Bases de données
- Exemple base de données access à télécharger gratuit - Forum Access
- Access appdata - Guide
- Migration base access vers sql server - Télécharger - Gestion de données
6 réponses
dis voir, c bizarre car on a le meme probleme au taf quand on bosse sur des basses 100% access avec des frontauix VB. Je pense pas que a soit MySQL en cause mais plutôt access. Nous ces problemes, on sait que ca vient des soucis de "droits" (si on peut appelerr ca des droits) d'acces aux utilisateurs. J'aipas de solution précises juste une piste : regarde plutot coté access..
A++
A++
Salut,
ouhlala j'ai dormi depuis ! lol
Les champs non renseignés lors de la saisie n'avaient pas de valeur par défaut dans MySQL, en ajoutant la valeurs "null" par défaut dans tous les champs sauf pour les champs "bit" (mettre 0), je n'ai plus rencontré de problèmes...pour qu'un mois après le boss décide de passer toute l'appli sur SQL Server...raaaaaahhh
Mais attention, ce message d'erreur peut aussi cacher un problème de transactions...mais là je n'ai pas de réponses à te donner sur le sujet...désolé
Pour infos, le support Microsoft : https://docs.microsoft.com/fr-fr/office/troubleshoot/access/error-saving-edited-record
ouhlala j'ai dormi depuis ! lol
Les champs non renseignés lors de la saisie n'avaient pas de valeur par défaut dans MySQL, en ajoutant la valeurs "null" par défaut dans tous les champs sauf pour les champs "bit" (mettre 0), je n'ai plus rencontré de problèmes...pour qu'un mois après le boss décide de passer toute l'appli sur SQL Server...raaaaaahhh
Mais attention, ce message d'erreur peut aussi cacher un problème de transactions...mais là je n'ai pas de réponses à te donner sur le sujet...désolé
Pour infos, le support Microsoft : https://docs.microsoft.com/fr-fr/office/troubleshoot/access/error-saving-edited-record
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour Topper Harley
je vois que ça fait quand même un bon bout de temps que tu as posté ton message concernant la migration.
en effet , j'ai une migration à faire de access à mysql et je ne sais pas comment faire , et vu que tu es passé par là , je me demandais si y'avait moyen que tu m'éclaircisse un peu les étapes.
merci beaucoup.
@bientôt.
je vois que ça fait quand même un bon bout de temps que tu as posté ton message concernant la migration.
en effet , j'ai une migration à faire de access à mysql et je ne sais pas comment faire , et vu que tu es passé par là , je me demandais si y'avait moyen que tu m'éclaircisse un peu les étapes.
merci beaucoup.
@bientôt.
Salut,
pour ce qui est de la méthode, la méthode la plus simple serait de faire un export de ta base Access vers un fichier CSV. Tu devrais trouver ça dans 'Fichier>Exporter>...' ou quelque chose qui lui ressemble (sinon Google : export access et hop!)
et ensuite tu importes tes données via phpmyadmin dans ta base MySql.
Comme je le disais plus haut, faut surtout faire attention au valeur de champ par défaut...
@+
pour ce qui est de la méthode, la méthode la plus simple serait de faire un export de ta base Access vers un fichier CSV. Tu devrais trouver ça dans 'Fichier>Exporter>...' ou quelque chose qui lui ressemble (sinon Google : export access et hop!)
et ensuite tu importes tes données via phpmyadmin dans ta base MySql.
Comme je le disais plus haut, faut surtout faire attention au valeur de champ par défaut...
@+
salut
merci de m'avoir répondu aussi vite
encore une petite question , est ce que cette méthode de tout exporter dans un fichier CSV est valable si on veut créer un convertisseur servant à migrer toute base access à mysql à travers une interface qu'il faudrait créer pour faire l'intérmédiaire entre le système et l'utilisateur ?
merci encore.
merci de m'avoir répondu aussi vite
encore une petite question , est ce que cette méthode de tout exporter dans un fichier CSV est valable si on veut créer un convertisseur servant à migrer toute base access à mysql à travers une interface qu'il faudrait créer pour faire l'intérmédiaire entre le système et l'utilisateur ?
merci encore.
Si ton objectif est de créer un convertisseur Access to Mysql, cela sera certainement plus complexe !
La méthode de l'export csv est valable quand tu as une BDD contenant peu de tables car tu dois faire une exportation de chaque table dans des fichiers différents et une importation de chacun de ces fichiers dans tes tables MySql.
Si tu as 100 tables dans Access, ce ne sera pas une solution gérable...et propice à erreurs !
Mais en cherchant, j'ai trouvé THE post qui répond à la question :
http://www.commentcamarche.net/forum/affich 1272846 migrer bdd access vers mysql
et MySql propose aussi des facilités :
https://www.mysql.com/products/workbench/
La méthode de l'export csv est valable quand tu as une BDD contenant peu de tables car tu dois faire une exportation de chaque table dans des fichiers différents et une importation de chacun de ces fichiers dans tes tables MySql.
Si tu as 100 tables dans Access, ce ne sera pas une solution gérable...et propice à erreurs !
Mais en cherchant, j'ai trouvé THE post qui répond à la question :
http://www.commentcamarche.net/forum/affich 1272846 migrer bdd access vers mysql
et MySql propose aussi des facilités :
https://www.mysql.com/products/workbench/
merci TopperHarley
je vais essayer de voir comment ça marche en suivant les étapes de neveuxcedric, sinon je vais essayer de trouver une fonction à intégrer dans mon code vb de chaque application qui poura générer une base mysql derrière ( je suis entrain de chercher si y'a moyen de traiter la migration sous cet angle là), je me dis qu'en intégrant une fonction du genre,par expl si version différente de notre version x qui est celle de la migration , donc traiter la migration.
je n'ai pas encore les idées claires mais bon j'essaie, de toutes les manières, ça parait moins difficile que le convertisseur.
En tout cas merci beaucoup et puis si t'as encore une idée de ce que peut comporter cette fonction de migration, n'hésite pas .
encore merci. @+
je vais essayer de voir comment ça marche en suivant les étapes de neveuxcedric, sinon je vais essayer de trouver une fonction à intégrer dans mon code vb de chaque application qui poura générer une base mysql derrière ( je suis entrain de chercher si y'a moyen de traiter la migration sous cet angle là), je me dis qu'en intégrant une fonction du genre,par expl si version différente de notre version x qui est celle de la migration , donc traiter la migration.
je n'ai pas encore les idées claires mais bon j'essaie, de toutes les manières, ça parait moins difficile que le convertisseur.
En tout cas merci beaucoup et puis si t'as encore une idée de ce que peut comporter cette fonction de migration, n'hésite pas .
encore merci. @+
juste pour complément d'informations mes appli sont en vb , derrière j'ai les bases type access (traitées par le moteur de base de données jet) et puis c'est du DAO en vb.
Normalement , en migrant vers mysql , il faut choisir entre ADO et ODBC , question encore sans réponse.
je pense qu'il vaut mieux privilégier un lien externe, c'est à dire ODBC.
voilà voilà.
merci encore.
Normalement , en migrant vers mysql , il faut choisir entre ADO et ODBC , question encore sans réponse.
je pense qu'il vaut mieux privilégier un lien externe, c'est à dire ODBC.
voilà voilà.
merci encore.