Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2813 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Import d'une table Access vers MySql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Import d'une table Access vers MySql

n°1820761
Nunu68
Posté le 02-12-2008 à 16:27:21  profilanswer
 

Bonjour, voila j'ai un problème et j'ai beau le retourné dans tous les sens je ne trouve pas de solution !
Je suis allez voir sur php.net, "google est mon ami", etc... mais rien :s
 
Donc je vous expose mon problème, il faudrait que je fasse un script permettant de demander a MySql d'importer une TABLE contenu dans une BDD Access...
J'ai déjà mis en place un liaison ODBC entre Access et Sql mais ce que je voudrait c'est que la table SQL se mette a jour qu'après un "ordre", et pas en direct...
 
N'y aurai-t-il pas une solution, genre une requete php, permettant d'aller "chercher" la TABLE dans Access, et l'exporter (avec ses données) dans MySql...
 
Je précise que l'utilisateur n'as pas accès à la BDD et donc ne peut pas faire de manipulation...
 
Il faudrait pour que ce soit parfais, uniquement lancer un "processus" de copie de la table Access vers Sql, en PhP, VB, ou n'importe quoi...  
 
Voila, d'avance je vous remercie.
Et reste ouvert à toute question / suggestion !! :)
 
 
ps : Je parle bien de TABLE et non pas de la BDD complète ! ;)

mood
Publicité
Posté le 02-12-2008 à 16:27:21  profilanswer
 

n°1820786
olivthill
Posté le 02-12-2008 à 17:06:59  profilanswer
 

Si je résume, il y a un lien ODBC de MySQL vers Access (probablement pour que Access voit une table MySQL en tant que "table attachée" ). L'utilisateur dispose d'une application intranet ou internet (ou bien est-ce que c'est une application Access ?). Il faudrait ajouter un bouton sur une page HTML (ou est-ce sur un formulaire Access ?) pour que le contenu d'une table Access se transfert vers MySQL. C'est bien cela ?
 
Pour faire ce transfert en PHP, il faudrait pouvoir accéder à Access en lecture et à MySQL en écriture, ce qui est tout à fait possible, bien qu'il faille sans doute un peu tatonner avant de trouver le bon setting. Le code consisterait à faire un SELECT * from La_table_Access avec un curseur, et pour chaque ligne lue, faire un INSERT into La_table_MyQSL.
 
Une autre solution consisterait à exporter la table en mode texte et à la charger.
 
Une autre solution, si l'utilisateur a accès à Access, serait de faire du code VBA derrière le bouton d'un formulaire, qui ferait le SELECT de la table source Access et l'INSERT dans la table MySQL attachée.

n°1820794
Nunu68
Posté le 02-12-2008 à 17:12:54  profilanswer
 

Oui l'utilisateur modifie les tables, créé les entrée etc... grâce à un progiciel ! :)
 
Par contre ça m'intéresse le script en PhP... mais je savai pas qu'on pouvait se connecter a Access directement depuis php ???
 
Je vais essayer de me renseigner un peu plus, Mais si quelqu'un aurai des infos la dessus, un tuto n'importe quoi je suis preneur ! :)
 
Merci !!!! =D

n°1820828
olivthill
Posté le 02-12-2008 à 17:33:40  profilanswer
 

J'ai fait plusieurs programmes en PHP qui se connectent à Access ou à Oracle. Mais je l'ai toujours fait en utilisant une bibliothèque gratuite qui est une extension au PHP de base, nommée AdoDB, que je trouve très bien. Au niveau du code, j'ai :

<?php
include("c:/Program Files/EasyPHP/apache/htdocs/adodb/adodb.inc.php" );
// ====================================================================
// Connexion à une base de donnée Access
// ====================================================================
function connexion(&$db)
{
   $db = ADONewConnection('ado_access'); # eg. 'oci8', 'access', or 'ado_access'
   $access = 'C:\DEV\php\ma_base_access.mdb';
   $myDSN =  'PROVIDER=Microsoft.Jet.OLEDB.4.0;'
           . 'DATA SOURCE=' . $access . ';';
   if (! @$db->PConnect($myDSN, "", "", "" )) {
      print "ERROR: Requires an Access database to $access".'<BR>'.$db->ErrorMsg();
      return(False);
   }
   return(True);
}
 
// ====================================================================
// Lit les enregistrements d'une table et met le resultat dans le tableau $result
// ====================================================================
function select_in_table1(&$result, $critere1, $critere2)
{
$nb = 0; $result = "";
if (! connexion($db)) return($nb);
$SQL_txt =   "select CHAMP1, CHAMP2 from TB1"
           . " where CD_UN = '{$critere1}'"
           . "   and CD_DEUX = '{$critere2}'";
$recordSet = $db->Execute("$SQL_txt" );
if (!$recordSet)  
   print $db->ErrorMsg();
else
   while (!$recordSet->EOF) {
      $result .= $recordSet->fields[0]
                 ."|".$recordSet->fields[1];
      $recordSet->MoveNext();
      $nb++;
   }
$recordSet->Close();
$db->Close();
return($nb);
}
...
?>


 

n°1823174
aideinfo
Posté le 07-12-2008 à 14:29:08  profilanswer
 

Tu peux utiliser Access2MySQL, c'est un programme simple et efficace.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°1831037
bricocoman
j'aime les modos
Posté le 24-12-2008 à 00:10:58  profilanswer
 

MySQL Migration Toolkit

 

tu passes une base Access vers Mysql en quelques clics

 

edit : oups, j'avais mal lu :d
"Je précise que l'utilisateur n'as pas accès à la BDD et donc ne peut pas faire de manipulation... "


Message édité par bricocoman le 24-12-2008 à 00:11:53

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Import d'une table Access vers MySql

 

Sujets relatifs
Compilation MySQL avec C++ Builder 2006 [Resolu]Cherche nouveau SGBD pour remplacer Access
[RÉSOLU]problème de Requète MySQLAccess refuse !
PHP + MySQL : afficher une liste regroupée par doublons d'IPPb base de donnée sous access
[PHP / MySQL] Compteur de visiteurs[Résolu] Impossible d'exécuter les migrations MySQL
transfert données Excel vers txt[CDI] [Belgique] 2 Programmeurs PHP/MySQL
Plus de sujets relatifs à : Import d'une table Access vers MySql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR