Probleme de conversion Access -> MySQL

Messages postés
327
Date d'inscription
mardi 8 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2010
- - Dernière réponse : PCPT
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
- 4 juil. 2006 à 08:32
Bonjour,

Je rencontre un probleme lors de l'import de données Access dans une base MySQL
J'utilise une boucle qui lit la base Access et qui transfert dans la base MySQL (avec ADO)
Je sais qu'il existe d'autres methodes, mais j'utilise celle-la car le transfert est tres complexe (modification de champs ...) et toutes les sources que je testé ne fonctionnent pas correctement si des bases aussi grosses

Le code est le suivant :
RSMyTableMySql : Connexion à la base MySQL
RSMyTableACCESS : Connexion à la base Access

    While RSMyTableACCESS.EOF And Not RSMyTableACCESS.BOF

        RSMyTableMySql.fields("VALEUR").value = RSMyTableACCESS.fields("VALEUR").value
        .....
        RSMyTableACCESS.movenext

      wend

J'importe des milliers de données de plusieurs dizaines de tables et ca fonctionne.

Mais parfois (toujours  au même endroit), je rencontre une erreur me disant qu'une opération en plusieurs temps a echoué. Je suis persuadé que c'est à cause des caracteres speciaux (puisque c'est toujours aux même endroits) dans la base.
Pouvez vous me dire comment filtrer ces caracteres speciaux ? (rem: mes tables sont en ENGINE=InnoDB DEFAULT CHARSET=utf8)

Merci
Afficher la suite 

6 réponses

Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
25
0
Merci
salut,

.value? t'es sûr que c'est du VB6 çà?

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Commenter la réponse de PCPT
Messages postés
327
Date d'inscription
mardi 8 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2010
0
Merci
Oui, j'ai un projet pro en VB6 qui contient plus de 150 formulaires avec des requetes en SQL et ca fonctionne tres bien. Mon probleme vient des caracteres speciaux, je pense. Si quelqu'un a une idée des caracteres qui posent probleme, ca m'aidera beaucoup
Commenter la réponse de cs_globule
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
25
0
Merci
umm, je n'utilise pas ADO pour access (bouhhhh le vilain), mais pour MySql oui et ma syntaxe est différente...

çà te donne quoi ceci :
RSMyTableMySql!("VALEUR") = RSMyTableACCESS!("VALEUR")

++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Commenter la réponse de PCPT
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
25
0
Merci
ps : tes "..." contiennent le update je suppose ()

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Commenter la réponse de PCPT
Messages postés
327
Date d'inscription
mardi 8 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2010
0
Merci
les ... contiennent d'autres
RSMyTableMySql.fields("VALEUR1").value = RSMyTableACCESS.fields("VALEUR2").value

RSMyTableMySql.fields("VALEUR2").value = RSMyTableACCESS.fields("VALEUR2").value

puis un
RSMyTableACCESS.update

Je rencontre le même probleme avec un
RSMyTableMySql!("VALEUR") = RSMyTableACCESS!("VALEUR")

Je ne pense pas que ca soit une erreur de programmation, car le bug arrive toujours aux mêmes endroits dans la base, je pense que c'est dû à des caracteres speciaux. De plus j'ai déjà bien éprouvé la syntaxe ADO RSMyTableMySql.fields("VALEUR1").value et normallement ca fonctionne sans probleme
Commenter la réponse de cs_globule
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
25
0
Merci
tu peux donner un exemple de contenu? et le type aussi

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Commenter la réponse de PCPT