bonjour
je cherche à adapter un petit logiciel (mmBd) réalisé en vbs qui me permettait de synchroniser ma collection de bandes dessinées (gérée avec logiciel BD Gest) sur mon Palm T7
cet addon fonctionnait parfaitement tant que j'étais sous windows XP
quand je suis passé sous W7 j'ai dû trouver comment faire fonctionner le Palm (ça marche)
mais j'ai toujours un pb avec l'addon qui ne se synchronise pas : j'ai vérifié tous les paramètres de registre ils sont bons
je suspecte un pb de langage de visual basic sous seven
voila le script:
Dim c, s, t
Set oShl = CreateObject("WScript.Shell")
s = "HKEY_CURRENT_USER\Software\BD GEST 7\BDGest\CheminBase"
s = oShl.RegRead(s)
c = "HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\mmBd\db"
c = oShl.RegRead©
' t = "HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\mmBd\temp"
' t = oShl.RegRead(t)
'free Shell
Set oShl = Nothing
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile©
c=objFile.ShortPath
Set objFile = objFSO.GetFile(s)
s=objFile.ShortPath
Set MyDB = CreateObject("ADODB.Connection")
MyDB.Open "DBQ="&c&";DRIVER={Microsoft Access Driver (*.mdb)};"
'1) Delete the content of the table series
MyDB.Execute("delete from series")
'2) Import the content of the main table
MyDB.Execute("insert into series (idserie,titre,Style,NoteDessin,NoteScenario,Commentaire,NoteGlobale,Planche,Internet,Encours,MajBEL) select idserie,titre,Style,NoteDessin,NoteScenario,Commentaire,NoteGlobale,Planche,Internet,Encours,MajBEL from ["&s&"].[series]")
'3) Delete the content of the table series
MyDB.Execute("delete from albums")
'4) Import the content of the main table
MyDB.Execute("insert into Albums (IdAlbum, Num, Titre, IdSerie, IdDessinateur, IdScenariste, DateAchat, PrixAchat, Editeur, Etat, Format, EdO, HorsSerie, Integrale, EditionLimitee, Collection, CoteActuelle, Reference, DL, Commentaire, Couverture, Possede, NoteAlbum, IdColoriste, Broche, Dedicace, Exlibris, NbPages, Perso1, Perso2, Perso3, NumA, Perso4, Prete, serieTitre) Select A.IdAlbum, A.Num, A.Titre, A.IdSerie, A.IdDessinateur, A.IdScenariste, A.DateAchat, A.PrixAchat, A.Editeur, A.Etat, A.Format, A.EdO, A.HorsSerie, A.Integrale, A.EditionLimitee, A.Collection, A.CoteActuelle, A.Reference, A.DL, A.Commentaire, A.Couverture, A.Possede, A.Appreciation, A.IdColoriste, A.Broche, A.Dedicace, A.Exlibris, A.NbPages, A.Perso1, A.Perso2, A.Perso3, A.NumA, A.Perso4, A.Prete, S.Titre FROM ["&s&"].[albums] as A, ["&s&"].[series] as S where A.IdSerie=S.IdSerie and A.AAcheter=0" )
'5) Delete the content of the table auteurs
MyDB.Execute("delete from auteurs")
'6) Import the content of the main table
MyDB.Execute("insert into auteurs (IdAuteur, Nom, Prenom, Surnom, DateNaissance, DateDeces, Pays, Pseudo, Commentaire, Scenario, Dessin, Couleur, Internet, tri) select IdAuteur, Nom, Prenom, Surnom, DateNaissance, DateDeces, Pays, Pseudo, Commentaire, Scenario, Dessin, Couleur, Internet,iif(Pseudo<>'',Pseudo,Nom) from ["&s&"].[auteurs]")
'7) Delete the content of the table series
MyDB.Execute("delete from acheter")
'8) Import the content of the main table
MyDB.Execute("insert into Acheter (IdAlbum, Num, Titre, IdSerie, IdDessinateur, IdScenariste, DateAchat, PrixAchat, Editeur, Etat, Format, EdO, HorsSerie, Integrale, EditionLimitee, Collection, CoteActuelle, Reference, DL, Commentaire, Couverture, Possede, NoteAlbum, IdColoriste, Broche, Dedicace, Exlibris, NbPages, Perso1, Perso2, Perso3, NumA, Perso4, Prete, serieTitre) Select A.IdAlbum, A.Num, A.Titre, A.IdSerie, A.IdDessinateur, A.IdScenariste, A.DateAchat, A.PrixAchat, A.Editeur, A.Etat, A.Format, A.EdO, A.HorsSerie, A.Integrale, A.EditionLimitee, A.Collection, A.CoteActuelle, A.Reference, A.DL, A.Commentaire, A.Couverture, A.Possede, A.Appreciation, A.IdColoriste, A.Broche, A.Dedicace, A.Exlibris, A.NbPages, A.Perso1, A.Perso2, A.Perso3, A.NumA, A.Perso4, A.Prete, S.Titre FROM ["&s&"].[albums] as A, ["&s&"].[series] as S where A.IdSerie=S.IdSerie and A.AAcheter=1" )
MyDB.Close
et voici le message d'erreur
Script: E\BDGEST7\mmbd\mmBd.vbs
Ligne: 22
Caract: 1
Erreur: [Microsoft][Gestionnaire de pilote ODBC] Source de données introuvables et nom de pilote non spécfié
Code: 80004005
Source: Microsoft OLE DB Provider for ODBC Drivers
si quelqu'un sait me dire ce que je dois corriger je lui en serai très reconnaissant
Merci d'avance
Babs
Page 1 sur 1
Erreur sur script VBS
#2
Posté 05 février 2012 - 05:43
Bonjour,
Le problème vient de cette ligne : MyDB.Open "DBQ="&c&";DRIVER={Microsoft Access Driver (*.mdb)};"
Visiblement le driver pour les bases de données Access n'est pas installé, tu devrais pouvoir le rajouter depuis le panneau de config.
Si tu es sous 7/64 et que tu ne peux pas rajouter de drivers, essaie de le faire en lançant la version 32 bits : x:\windows\SysWOW64\odbcsys32.exe (X est à remplacer par la lettre de ton lecteur système)
Le problème vient de cette ligne : MyDB.Open "DBQ="&c&";DRIVER={Microsoft Access Driver (*.mdb)};"
Visiblement le driver pour les bases de données Access n'est pas installé, tu devrais pouvoir le rajouter depuis le panneau de config.
Si tu es sous 7/64 et que tu ne peux pas rajouter de drivers, essaie de le faire en lançant la version 32 bits : x:\windows\SysWOW64\odbcsys32.exe (X est à remplacer par la lettre de ton lecteur système)
Loup blanc
#3
Posté 12 février 2012 - 09:53
Bonjour
merci de votre réponse
voila ce que j'ai fait
exécuter > c:\windows\syswow64\odbcad32.exe
la fenêtre suivante s'est ouverte : Administrateur de source de données odbc
j'ai cliqué sur ajouter j'ai choisi Microsoft Access driver (il en y avait déjà un appelé MS Access Database)
je lui ai donné un nom et j'ai sélection ma base de données par le bouton "sélectionner", maintenant il est indiqué : E\BDGEST7\MaCollection.mdb
j'ai validé et redémarrer : la synchro ne marche pas
du coup j'ai aussi ajouter un driver Microsoft Access pour mmbd.mdb en pointant sur le dossier qui contient cette base
et ça ne marche pas non plus
est-ce qu'il y a des paramètres à changer sur les drivers Microsoft Access : je nse suis pas du tout compétent et je ne veux pas faire de bêtise
merci de votre aide
babs
merci de votre réponse
voila ce que j'ai fait
exécuter > c:\windows\syswow64\odbcad32.exe
la fenêtre suivante s'est ouverte : Administrateur de source de données odbc
j'ai cliqué sur ajouter j'ai choisi Microsoft Access driver (il en y avait déjà un appelé MS Access Database)
je lui ai donné un nom et j'ai sélection ma base de données par le bouton "sélectionner", maintenant il est indiqué : E\BDGEST7\MaCollection.mdb
j'ai validé et redémarrer : la synchro ne marche pas
du coup j'ai aussi ajouter un driver Microsoft Access pour mmbd.mdb en pointant sur le dossier qui contient cette base
et ça ne marche pas non plus
est-ce qu'il y a des paramètres à changer sur les drivers Microsoft Access : je nse suis pas du tout compétent et je ne veux pas faire de bêtise
merci de votre aide
babs
#4
Posté 12 février 2012 - 12:28
Bonjour,
Est-ce que tu as essayé d'abord de faire cette manip avec l'utilitaire 64 bit ?
Fais aussi un essai en lançant ton script avec de droits d'administration.
Edit : Il faut peut-être aussi lancer ton script avec la version 32 bit de Cscript ou de Wscript
Ta commande devrait ressembler à ça :
C:\WINDOWS\SysWOW64\Cscript.exe E\BDGEST7\mmbd\mmBd.vbs
Est-ce que tu as essayé d'abord de faire cette manip avec l'utilitaire 64 bit ?
Fais aussi un essai en lançant ton script avec de droits d'administration.
Edit : Il faut peut-être aussi lancer ton script avec la version 32 bit de Cscript ou de Wscript
Ta commande devrait ressembler à ça :
C:\WINDOWS\SysWOW64\Cscript.exe E\BDGEST7\mmbd\mmBd.vbs
Ce message a été modifié par Loup blanc - 12 février 2012 - 02:32 .
Loup blanc
#5
Posté 13 février 2012 - 09:44
bonjour et merci de ton aide
comme je l'ai dit je touche très largement les limites de ma compétence informatique avec ce sujet
voila ce que j'ai fait avec tes conseils
j'ai vérifié j'ai bien Wscript.exe et Cscript.exe dans le dossier syswow64
j'ai ouvert la fenêtre de commande dos
et j'ai saisi : E:\>C:\WINDOWS\SysWOW64\Cscript.exe BDGEST7\mmbd\mmBd.vbs car avec la commande indiquée il me disait ne pas trouver les fichiers
en faisant ça l'ordi a eu un temps de "r"flexion" puis j'ai vu s'afficher la version du script host sous la forme "Microsoft ®windows script jost version 5.8 et ligne en dessous "copyright © microsoft ...."
j'ai lancé le logiciel hotsync en tant qu'administrateur et refait une synchro sans succès
pour l'utilitaire 64bits je ne sais pas ce que c'est ni où il est rangé
merci
Babs
comme je l'ai dit je touche très largement les limites de ma compétence informatique avec ce sujet
voila ce que j'ai fait avec tes conseils
j'ai vérifié j'ai bien Wscript.exe et Cscript.exe dans le dossier syswow64
j'ai ouvert la fenêtre de commande dos
et j'ai saisi : E:\>C:\WINDOWS\SysWOW64\Cscript.exe BDGEST7\mmbd\mmBd.vbs car avec la commande indiquée il me disait ne pas trouver les fichiers
en faisant ça l'ordi a eu un temps de "r"flexion" puis j'ai vu s'afficher la version du script host sous la forme "Microsoft ®windows script jost version 5.8 et ligne en dessous "copyright © microsoft ...."
j'ai lancé le logiciel hotsync en tant qu'administrateur et refait une synchro sans succès
pour l'utilitaire 64bits je ne sais pas ce que c'est ni où il est rangé
merci
Babs
#6
Posté 13 février 2012 - 10:36
Ma commande n'était pas complète, j'avais oublié un caractère (le ":" devant le "E") :
C:\WINDOWS\SysWOW64\Cscript.exe E:\BDGEST7\mmbd\mmBd.vbs
Fait un essai (avec cette commande).
Si ça ne donne rien, fais en d'autres en supprimant les différentes lignes que tu as ajouté dans le panneau d'administration ODBC (toujours par : c:\windows\SysWOW64\odbcsys32.exe)
Edit : Peux-tu aussi regarder les chemins stockés dans ces trois clés:
"HKEY_CURRENT_USER\Software\BD GEST 7\BDGest\CheminBase"
"HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\mmBd\db"
"HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\mmBd\temp
C:\WINDOWS\SysWOW64\Cscript.exe E:\BDGEST7\mmbd\mmBd.vbs
Fait un essai (avec cette commande).
Si ça ne donne rien, fais en d'autres en supprimant les différentes lignes que tu as ajouté dans le panneau d'administration ODBC (toujours par : c:\windows\SysWOW64\odbcsys32.exe)
Edit : Peux-tu aussi regarder les chemins stockés dans ces trois clés:
"HKEY_CURRENT_USER\Software\BD GEST 7\BDGest\CheminBase"
"HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\mmBd\db"
"HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\mmBd\temp
Ce message a été modifié par Loup blanc - 13 février 2012 - 11:55 .
Loup blanc
Page 1 sur 1

Aide
Commencer un sujet
Ajouter une réponse

Multi-citation






