Access sait-il remplir une base MySQL ? - SQL/NoSQL - Programmation
Marsh Posté le 15-10-2004 à 16:17:45
Sebastien a écrit : Ouep avec un connecteur odbc je suis sur que c faisable. |
toutafé...
Marsh Posté le 15-10-2004 à 16:27:59
magma a écrit : Bonjour, |
Tu n'as pas reellement besoin de faire cette copie en miroir, PHP peut acceder directos à une base Access via un DSN ODBC.
Regarde les fonctions PHP commençant par odbc_*
http://www.php.net/manual/fr/function.odbc-connect.php
Tu pourras donc ouvrir avec PHP ta table de clients sous access et en même temps ouvrir la base mysql pour y lire les données sur le parc.
Marsh Posté le 15-10-2004 à 17:00:40
Smaragdus a écrit : Tu n'as pas reellement besoin de faire cette copie en miroir, PHPpeut acceder directos à une base Access via un DSN ODBC. |
Mais qu'est-ce qui te fait dire qu'il utilise PHP ?
Marsh Posté le 15-10-2004 à 17:04:17
sircam a écrit : Mais qu'est-ce qui te fait dire qu'il utilise PHP ? |
Ca sert de lire la question, des fois
Citation : nous avons développé un nouvel outil en interne pour gérer un parc de chambres & d'appartements, en PHP/MySQL |
Marsh Posté le 15-10-2004 à 17:37:56
Smaragdus a écrit : Tu n'as pas reellement besoin de faire cette copie en miroir, PHP peut acceder directos à une base Access via un DSN ODBC. |
mais oui, ça je sais mais l'ennui c'est qu'il ne s'agit pas de récupérer des données d'Access avec un script PHP... ça je l'ai déjà fait et tout marche bien
En fait, c'est l'inverse : sous Access, rédiger (par exemple) une macro qui permette d'inscrire des données sous MySQL.
Ex : je rentre les coordonnées d'une personne dans la table 'personne' d'Access, grâce au formulaire Access, et je voudrais qu'elles soient IMMEDIATEMENT et AUTOMATIQUEMENT dupliquées dans la table 'personne' de ma base 'hebergement' sous MySQL.
j'ai rien trouvé sur le web pour m'aider, mais je continue à chercher
Merci de votre aide, en espérant que quelqu'un connaisse la solution... ou me dise qu'il n'y en a pas et qu'Access est con comme un manche, ce dont je me doute déjà
Marsh Posté le 15-10-2004 à 17:40:50
Smaragdus a écrit : Ca sert de lire la question, des fois |
Oops, je sors.
Marsh Posté le 15-10-2004 à 17:41:06
Bah comme ça a été dit au dessus alors : utilise le driver odbc pour MySQL. Ensuite, tu lies la table et tu pourras travailler dessus comme si c'etait une table access.
Marsh Posté le 15-10-2004 à 17:43:13
ReplyMarsh Posté le 15-10-2004 à 17:50:27
magma a écrit : |
Il n'y a aucun interet à creer des duplications avec tous les risques que ça comporte (désynchro si prb de cnx etc...)
La methode que j'ai suggeré est la moins mauvaise.
La meilleure etant de faire un script PHP pour saisir les clients et de tout migrer sur mysql.
Marsh Posté le 15-10-2004 à 18:35:32
Toi tu as rien compris, ou alors tu ecoutes pas les besoins de tes clients.
Ca il sait faire, meme qu'il a une table mysql qui gere ca, sa question est qu'il est oblige d'utiliser une application access.
Donc sinon comme on a dit tu peux utiliser un driver odbc qui quand l'appli mettra à jour ta table access, elle fera de meme sous ta table MySQL
Marsh Posté le 15-10-2004 à 20:22:58
Smaragdus a écrit : Il n'y a aucun interet à creer des duplications avec tous les risques que ça comporte (désynchro si prb de cnx etc...) |
Tout pareil que Sébastien, mais en plus ferme et argumenté :
- Où as-tu vu que le serveur qui fait tourner le soft PHP peut physiquement accéder au poste qui fait tourner Access ? Dans 99% des cas, les serveurs Intranet sont dans un sous-réseau isolé du reste du réseau, et il est rare que tu fasses tourner une appli Access dans un répertoire partagé.
- T'as déjà tenté des accès multiples à Access ? Alors comment on fait si un gars est en train de lire depuis le PHP pendant qu'un autre est en train de saisir des infos dans la base Access ? Ben moi je vais te dire ce que ça fait : ça plante.
- L'idée de passer l'appli Access dans la base Mysql avec une interface PHP est totalement hors sujet. Si c'était ce qu'il voulait, il l'aurait demandé clairement. Evite de t'avancer comme ça au point de vue professionnel. Le jour où le client te fait signer un papier comme quoi ça se fait en effet en deux jours, et que tu t'apperçois que l'appli Access comporte une multitude de formulaires avec des règles de gestion infiniment plus compliquées que ce que tu as imaginé, t'auras plus qu'à aller pointer à l'ANPE le mois d'après.
Ceci dit, migrer l'appli Access dans l'appli PHP/MySQL est la solution la plus propre. Mais y'a 90% de chances pour que cela représentent un boulot important, pour un résultat qui n'est pas à la hauteur du coût de la migration.
Une simple procédure VBA avec deux insert via ODBC sera aussi réactif, et ça ne demandra que quelques heures à mettre en place, tests compris.
Marsh Posté le 15-10-2004 à 20:33:23
Qu'il fasse sa sale bidouille avec ta méthode, on rigolera bien quand les 2 bases seront désynchronysées
Marsh Posté le 15-10-2004 à 20:36:26
Smaragdus a écrit : Qu'il fasse sa sale bidouille avec ta méthode, on rigolera bien quand les 2 bases seront désynchronysées |
Je te renvoie à ta citation.
(ouais, je sais, tu peux me renvoyer à la mienne aussi )
Marsh Posté le 18-10-2004 à 10:18:50
Smaragdus a écrit : Qu'il fasse sa sale bidouille avec ta méthode, on rigolera bien quand les 2 bases seront désynchronysées |
S'il fait ca bien, c'est à dire une inscription direct, plus une synchronisation toutes les nuits, il aura aucun problème, au pire une personne devra attendre 24h pour que son acces soit valide.
j'ai deja vu ca un peu partout des doubles bases pour mysql.
des synchro ldap / mysql ; oracle / mysql et y a jamais eu de gros gros problèmes de ce cote du process.
Marsh Posté le 18-10-2004 à 10:28:07
Sebastien a écrit : S'il fait ca bien, c'est à dire une inscription direct, plus une synchronisation toutes les nuits, il aura aucun problème, au pire une personne devra attendre 24h pour que son acces soit valide. |
Moi non plus, je bosse tous les jours avec des systèmes liés, et je n'ai jamais eu le moindre problème de synchronisation.
Marsh Posté le 18-10-2004 à 10:28:48
Merde, sorry, je répondais à un admin, mais je me suis planté de fenêtre
Marsh Posté le 18-10-2004 à 10:30:55
bonjour et merci pour vos réponses. Effectivement, le problème de synchronisation me semblait être le plus ennuyeux, mais bon, là, je n'ai pas vraiment le choix
-> smaragdus, je suis tout à fait d'accord avec toi pour dire que le plus propre serait de tout migrer, et on en parle plus... le problème c'est qu'il ne m'est absolument pas possible de le faire dans un labs de temps aussi court que ce dont je dispose. C'est effectivement prévu, à terme, c'est à dire pas avant deux ou trois mois --> pour le moment, j'ai besoin d'un truc fonctionnel (même bancal) pour dans 10 jours au plus tard
-> Arjuna & Sebastien : merci pour votre réponse, je vais voir comment ça fonctionne, et je vais me dépatouiller - enfin j'espère J'aurais ptêt besoin d'un nouveau coup de main, je posterai dans le coin en priant
Quoiqu'il en soit, merci à tous pour le temps que vous m'avez consacré !
Marsh Posté le 15-10-2004 à 15:53:20
Bonjour,
oui je sais, la question fait assez mais on fait ce qu'on peut.
Je vous explique rapidement le problème : nous avons ici au boulot un certain nombre de personnes qui ont eu une formation Access il y a quelques temps. Evidemment, pas forcément toutes très très douées en info, elles préfèrent utiliser ce logiciel plutôt que de passer à autre chose, ce que je peux comprendre.
Problème... nous avons développé un nouvel outil en interne pour gérer un parc de chambres & d'appartements, en PHP/MySQL. Les personnes qui viennent nous voir ne peuvent louer une chambre que si elles sont au préalable inscrites chez nous... mais cette inscription se fait dans une base Access via un formulaire Access dispo sur une seule machine, et qui reste évidemment toujours ouverte !
D'où ma question : serait-il possible sous access, lors de la saisie de nouvelles inscriptions sous Access, de mettre à jour en miroir la même table dans la base MySQL ?
Merci d'avance pour vos réponses
---------------
Mes ventes - Feed