EXPORTER UNE BASE DE DONNEES MS ACCESS VERS MYSQL OU POSTGRESQL

mastervanou Messages postés 55 Date d'inscription vendredi 20 octobre 2000 Statut Membre Dernière intervention 13 octobre 2008 - 13 août 2005 à 19:53
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009 - 6 oct. 2007 à 02:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31405-exporter-une-base-de-donnees-ms-access-vers-mysql-ou-postgresql

cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
6 oct. 2007 à 02:45
Personnellement, je n'ai jamais essayé de compiler DbExport sous VB .NET 2005 Express. Mais le problème que tu poses pourrait aussi venir de ta version de Office. DbExport utilise les PIA (Primary Interop Assemblies) de Office. Il en existe pour les trois dernières versions de la suite bureautique (XP, 2003 et 2007) et elles sont disponibles en téléchargement sur le site de l'éditeur. Ces PIA peuvent par ailleurs être installées avec Office. Il suffit pour célà d'activer l'option "Prise en charge de la programmabilité .NET" lors de l'installation. Il l'absence des PIA, je serais surpris que tu parviennes à compiler DbExport.
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
27 sept. 2007 à 17:57
ce qui cloche c'est qu'il te faut une vrai version à mon avis... visual basic ou visual studio pro
miox Messages postés 2 Date d'inscription vendredi 3 mars 2006 Statut Membre Dernière intervention 10 mars 2006
27 sept. 2007 à 17:10
j'ai essayé de le compiler avec VB EXPRESS 2005 ça marche pas....pourqoi en tout cas c'est vraiment utile pour moi.Est ce que tu peut m decrire ce qui cloche là.
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
21 sept. 2006 à 07:52
ok par contre moi j'utilise mysql sans php... voila pourquoi ça fonctionne mieux en précisant ANSI... (d'autant que les accents sont préservés en ANSI et pas en UTF8)
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
20 sept. 2006 à 21:36
Lors de l'exécution d'un script avec l'un des outils fournis par MySQL AB (Query Runner ou ligne de commande), on peut préciser l'encodage utilisé par ce fichier (Avec Query Runner, il suffit d'ouvrir le fichier en tant que script UTF-8 par exemple). Autrement, la solution que tu préconnises s'avère très utile. De son côté, phpMyAdmin ne souffre pas du tout de la présence de caractères Unicode dans le texte. Enfin, j'ai coutume d'exécuter le script directement à partir de DbExport (j'inclurai peut être cette possibilité dans une future mise à jour de la source). De la sorte, je m'affranchis de tous les soucis liés au fait que .NET utilise UNICODE par défaut pour l'encodage de texte.
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
13 sept. 2006 à 15:26
Au fait à la fin de ton source si tu ne veux pas avoir de problèmes d'accents il faut indiquer que tu utilise le mode ANSI :

à la place de :
Dim textFile As StreamWriter = File.CreateText(sfdSaveScript.FileName)

Mettre :
Dim textFile As StreamWriter = New StreamWriter(sfdSaveScript.FileName, False, System.Text.Encoding.Default)
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
5 sept. 2006 à 17:31
Merci de tes réponses, j'avais fini par trouver (à la place du cast y a aussi le convert mais les deux doivent fonctionner)

ce qu'il manque à ta source au niveau des booléens ce sont deux choses :
- le résultat doit se trouver entre '
- il ne faut pas se contenter de vérifuer le yes mais vérifier aussi la valeur -1

pour le reste j'ai testé c'est impeccable et le passage d'access à MySQL ben comment dire... c'est le jour(MySQL) et la nuit(Access)...
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
5 sept. 2006 à 17:09
Salut ELDIM,
Disons que que par rapport à ta première préoccupation, créer une base MySQL sous Windows est assez facile. Tu as le choix entre:
- utiliser l'utilitaire de ligne de commade de MySQL (en tappant mysql -h localhost -u root -p par exemple) et
- utiliser un outil d'administration comme MySQL Administrator ou bien phpMyAdmin (qui exige que PHP soit installé et configuré sur ta machine).
Dans le second cas tu bénéficieras d'une interface conviviale et intuitive pour la création de ta BDD (et en plus tu auras le droit de commettre des erreurs de frappe, ce qui est vivement déconseillé en ligne de commande).
Pour ce qui est du type booléen, MySQL n'en a pas (du moins la version que j'utilise). A la place on peut utiliser un type d'entiers ou une énumération ('Vrai', 'Faux'); l'essentiel etant que la logique soit préservée.
Pour la conversion essaie la fonction CAST (ex: CAST(x AS INTEGER)). Je ne l'ai pas testé. Mais étant donné qu'elle fait partie de la norme SQL, je suppose qu'elle devrait être implémentée sous MySQL (qui n'est pas très callé sur la norme ceci étant dit).
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
5 sept. 2006 à 10:31
Ah merde les booléens ne sont pas pris en compte... snif
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
5 sept. 2006 à 09:16
Après test je t'ai mis 10 car c'est vraiment génial !!!
le seul hic c'est que dans une clé primaire on ne peut pas dépasser 85 caractères... dans mysql mais t'y peut rien...

sinon comment tu fais un "cint" d'access dans MySQL ?
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
4 sept. 2006 à 12:09
Bonjour,
n'ayant toujours pas cerner comment on crée une base MySQL avec ma version windows je n'ai pas pu tester le résultat, mais le script créé semble impeccable.
Bonne idée de source
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
19 avril 2006 à 17:04
Pour compiler cette source, il te faut Office XP ou 2003. Il faut en plus que tu aies validé l'option de prise en charge de la programmabilité DotNET pendant l'installation de Office (sinon, vas sur le site de Microsoft et télécharge le paquet Office XP/2003 Primary Interop). Enfin, tu dois ajouter les références aux assemblies managés de MS Access et DAO (et non les références COM). Pour ce qui est de l'exe, c'est pas possible. Seuls les codes-sources circulent sur ce site.
cs_raver2046 Messages postés 22 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 23 avril 2009
3 avril 2006 à 15:11
j'ai essayé de le compiler avec VB EXPRESS 2005 sa marche pas.... puis-je avec l'exe ?
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
16 août 2005 à 11:13
En fait le but du jeu n'est pas de démontrer les techniques d'accès aux données sous .net (les exemples de code portant sur ce sujet sont très nombreux sur le web), mais plutôt de présenter un cas d'automatisation de MS Access qui apporte un début de solution à un problème qui quoique banal n'en a toujours pas (si vous aviez essayé MySQL Migration Toolkit, vous comprendriez de quoi je parle).
mastervanou Messages postés 55 Date d'inscription vendredi 20 octobre 2000 Statut Membre Dernière intervention 13 octobre 2008
13 août 2005 à 19:53
DAO...il aurait été interessant de voir les nouvelles techniques d'access au données en .net
Rejoignez-nous