URGENT BASE DE DONNEES

abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008 - 30 avril 2005 à 17:53
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 - 1 mai 2005 à 12:42
Bonjour à tous, je suis débutante avec PHP.
Et je voudrais bien savoir comment je peux convertir ma base de données mysql en une base de données access?

Merci @ tous et bon weekend.

5 réponses

GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
30 avril 2005 à 22:37
Ben je crois qu'il n'y a pas 36 solutions car les deux Géants, à savoir Linux et Windows, ne jouent pas à la compatibilité; il faut tout recopier à la main
Kisses
Gilles
0
abirti Messages postés 31 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 28 mai 2008
1 mai 2005 à 10:39
Merci à GillesWebmaster pour cette solution, mais je veux bien savoir s'il y a une solution pour me faciliter la tâche car si on une grande passe c'est une perte du temps de recopier tout
Merci une autre fois à tous qui lit ce message et qui n'oublie pas que je suis au début du chemin...
0
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
1 mai 2005 à 12:39
Je connais la fonction qui transforme une acces en mysql;
function Transfert_CSV_Mysql(){
/*
Ce script vous permettra de transferer votre base de donnée ACCESS au format
csv
sur une base de donnée MySQL automatiquement et sans efforts.
*/
/* enregistrez votre base de données access au format csv avec en
premiere ligne le titre des champs.
Ex :
"Code";"Diplomes";"Formation";"Epreuves";"Niveau";"Année";"Mots clés"
"ECM2VQ2000";"Maitrise";"Econometrie";"VARIABLES
QUALITATIVES.";"Rien";;"ECONOMETRIE UE2"
"TML1MA2000";"Licence";"Technologie
Mecanique";"MATHEMATIQUES.";"Rien";;"TMUE11"
"TML1IN2000";"Licence";"Technologie Mecanique";"INFORMATIQUE.";"Rien";;
...

ATTENTION il faut toutefois que votre tabe soit crée avec comme noms de champs
ceux correspondant
aux champs de ACCESS.
EX : ici : Code, Diplomes, Formation, Epreuves, Niveau, Année, Mots clés
*/


// Nom du fichier a transferer
$BASE_FORMAT_CSV = "C:\\Mes documents\\Epreuves.txt";
// Vous pouvez en specifier d'autre lors de l'exportation sous ACCESS
$separateur_champ = ";";
$separateur_texte = """;

// infos sur le serveur mysql
$sql_server = "localhost";
$sql_login = "root";
$sql_pass = "";
$sql_db = "test";
$sql_table = "sujets_epreuve";


$fp = fopen($BASE_FORMAT_CSV, "rb"); // rb pour windows, r pour linux/unix cf
docs nexen
$contents = fread fread($fp, filesize ($BASE_FORMAT_CSV));
fclose ($fp);

mysql_connect ($sql_server, $sql_login, $sql_pass);
mysql_select_db ($sql_db);

$ligne = strtok ($contents, "\n");
$i = 0;
while ($ligne)
{
$i++;
if ($i == 1)
{
$nom_champs = separer_champs ($ligne);
}
else
{
$champs = separer_champs ($ligne);
$query = make_query ($nom_champs, $champs);
print "$query
";
mysql_query ($query);
}
$ligne = strtok ("\n");
}

mysql_close();

function separer_champs ($ligne)
{
global $separateur_champ, $separateur_texte;
$champs = split split($separateur_champ, $ligne);
$i =0;
while ($champs[$i])
{
$champs[$i] = eregi_replace ($separateur_texte, "", $champs[$i]);
$i++;
}
return($champs);
}


function make_query ($nom_champs, $champs)
{
global $sql_table;
$OUT = "INSERT INTO $sql_table (";

$i = 0;
while ($nom_champs[$i])
{
if ($i == 0)
{$OUT .= $nom_champs[$i];}
else
{$OUT .= ", ".$nom_champs[$i]."";}
$i++;
}
$OUT .= ") VALUES (";
$i = 0;
while ($champs[$i])
{
if ($i == 0)
{$OUT .= "'".$champs[$i]."'";}
else
{$OUT .= ", '".$champs[$i]."'";}
$i++;
}
$OUT .= ");";
return ($OUT);
}
?>
}

Je continue les recherches...
Ciao
GIlles
0
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
1 mai 2005 à 12:39
Je connais la fonction qui transforme une acces en mysql;
function Transfert_CSV_Mysql(){
/*
Ce script vous permettra de transferer votre base de donnée ACCESS au format
csv
sur une base de donnée MySQL automatiquement et sans efforts.
*/
/* enregistrez votre base de données access au format csv avec en
premiere ligne le titre des champs.
Ex :
"Code";"Diplomes";"Formation";"Epreuves";"Niveau";"Année";"Mots clés"
"ECM2VQ2000";"Maitrise";"Econometrie";"VARIABLES
QUALITATIVES.";"Rien";;"ECONOMETRIE UE2"
"TML1MA2000";"Licence";"Technologie
Mecanique";"MATHEMATIQUES.";"Rien";;"TMUE11"
"TML1IN2000";"Licence";"Technologie Mecanique";"INFORMATIQUE.";"Rien";;
...

ATTENTION il faut toutefois que votre tabe soit crée avec comme noms de champs
ceux correspondant
aux champs de ACCESS.
EX : ici : Code, Diplomes, Formation, Epreuves, Niveau, Année, Mots clés
*/


// Nom du fichier a transferer
$BASE_FORMAT_CSV = "C:\\Mes documents\\Epreuves.txt";
// Vous pouvez en specifier d'autre lors de l'exportation sous ACCESS
$separateur_champ = ";";
$separateur_texte = """;

// infos sur le serveur mysql
$sql_server = "localhost";
$sql_login = "root";
$sql_pass = "";
$sql_db = "test";
$sql_table = "sujets_epreuve";


$fp = fopen($BASE_FORMAT_CSV, "rb"); // rb pour windows, r pour linux/unix cf
docs nexen
$contents = fread fread($fp, filesize ($BASE_FORMAT_CSV));
fclose ($fp);

mysql_connect ($sql_server, $sql_login, $sql_pass);
mysql_select_db ($sql_db);

$ligne = strtok ($contents, "\n");
$i = 0;
while ($ligne)
{
$i++;
if ($i == 1)
{
$nom_champs = separer_champs ($ligne);
}
else
{
$champs = separer_champs ($ligne);
$query = make_query ($nom_champs, $champs);
print "$query
";
mysql_query ($query);
}
$ligne = strtok ("\n");
}

mysql_close();

function separer_champs ($ligne)
{
global $separateur_champ, $separateur_texte;
$champs = split split($separateur_champ, $ligne);
$i =0;
while ($champs[$i])
{
$champs[$i] = eregi_replace ($separateur_texte, "", $champs[$i]);
$i++;
}
return($champs);
}


function make_query ($nom_champs, $champs)
{
global $sql_table;
$OUT = "INSERT INTO $sql_table (";

$i = 0;
while ($nom_champs[$i])
{
if ($i == 0)
{$OUT .= $nom_champs[$i];}
else
{$OUT .= ", ".$nom_champs[$i]."";}
$i++;
}
$OUT .= ") VALUES (";
$i = 0;
while ($champs[$i])
{
if ($i == 0)
{$OUT .= "'".$champs[$i]."'";}
else
{$OUT .= ", '".$champs[$i]."'";}
$i++;
}
$OUT .= ");";
return ($OUT);
}
?>
}

Je continue les recherches...
Ciao
GIlles
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
1 mai 2005 à 12:42
Finalement je crois avoir trouvé un petit soft, à essayer par tes soins...
Meric d'accepter ta réponse si elle te plait...
GIlles
0
Rejoignez-nous