IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaçage autre langage Python Discussion :

Driver ODBC manquant


Sujet :

Interfaçage autre langage Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut Driver ODBC manquant
    Bonsoir à tous,
    Après recherche sur le forum, je viens vers vous car je sèche sur un problème, partiellement évoqué dans d'autres posts, mais dont je n'arrive pas à me débrouiller.
    Je souhaite attaquer mes bases Access 2010 sous Python. J'ai installé pyodbc et repris pour mes essais du code évoqué par ailleurs, rien d'original :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import pyodbc
    conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\Bruno\TrvBddAccess\Test.accdb;')
    curseur = conn.cursor()
    curseur.execute('select * from Essai')
    for row in curseur.fetchall():
        print (row)
    Ma base de test contient une seule table nommé Essai.
    J'ai le message
    ('IM002', '[IM002] [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié (0) (SQLDriverConnect)')
    En regardant la liste des drivers pyodbc installés, je n'ai que SQL Server, alors que j'ai installé la source odbc pour Access (je ne peux apparemment pas installer la 64bits sans désinstaller Access et Publisher)
    Nom : SourcesOdbc.JPG
Affichages : 1095
Taille : 56,1 Ko

    Y a-t-il un moyen pour rajouter le driver Access aux drivers reconnus par pyodbc ?
    Un grand merci par avance si vous pouvez me mettre sur une piste.
    Bonne soirée.
    Bruno

  2. #2
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut Des idées ?
    Bonsoir à tous,

    Personne n'a d'idée, ou n'a été confronté à ce problème ?
    Merci d'avance.
    Bruno

  3. #3
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Dans le cas où vous n'avez pas l'appli access installé sur le système, il faut au moins installer l'engin d'access redistribuable.
    https://www.microsoft.com/en-us/down....aspx?id=54920
    Après; vous verrez.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 439
    Points : 37 030
    Points
    37 030
    Par défaut
    Salut,

    Citation Envoyé par bcoulom Voir le message
    Y a-t-il un moyen pour rajouter le driver Access aux drivers reconnus par pyodbc ?
    Quand on a ce genre de problèmes, on ouvre la documentation de PyODBC (et on en fait une lecture "active": adaptée à ce qu'on veut faire et ses environnements).

    - W

  5. #5
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Quand on a ce genre de problèmes, on ouvre la documentation de PyODBC (et on en fait une lecture "active": adaptée à ce qu'on veut faire et ses environnements).

    - W
    Merci beaucoup pour ton conseil, j'ignorais l'existence de cette doc, et n'en avais pas vu mention avant.
    Je m'y mets dès ce soir, si j'avais trouvé cette recommandation dans d'autres posts, je n'aurais pas dérangé le forum avec ma question.
    Bonne journée et remerciements renouvelés.
    Bruno

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 439
    Points : 37 030
    Points
    37 030
    Par défaut
    Citation Envoyé par bcoulom Voir le message
    Je m'y mets dès ce soir, si j'avais trouvé cette recommandation dans d'autres posts, je n'aurais pas dérangé le forum avec ma question.
    Je n'ai rien contre vous mais je rappelle régulièrement qu'on cherche sur Internet après s'être cogné la documentation (elle a le mérite d'être "à jour") et parcouru la buglist des problèmes remontés chez les développeurs (au cas où et si elle existe)...

    Après on peut s'amuser à trier les potins sur Internet (mais là on est coincé par les mots clefs à entrer et est-ce qu'on pose bien le problème est une réflexion à avoir avant de s'enliser à trier...).

    Enfin, on demande de l'aide dans les forums (et le temps passé à essayer d'avancer sur le problème se verra dans la description...).

    - W

  7. #7
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 095
    Points : 9 583
    Points
    9 583
    Par défaut
    Hello,
    pour y voir plus clair le python utilisé est-il 32 bits ou 64 bits ? Le MS Office installé est-il 32 bits ou 64 bits ? Le redistribuable dont tsuji parle existe en 32 bits et 64 bits ce qui permet d'avoir les drivers access 32 et 64 bits.
    Ami calmant, J.P

  8. #8
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par tsuji Voir le message
    Dans le cas où vous n'avez pas l'appli access installé sur le système, il faut au moins installer l'engin d'access redistribuable.
    https://www.microsoft.com/en-us/down....aspx?id=54920
    Après; vous verrez.
    Bonjour et merci pour votre réponse.
    J'ai Access 2010 installé, sur lequel je fais tourner la base de données de mon cabinet.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Hello,
    pour y voir plus clair le python utilisé est-il 32 bits ou 64 bits ? Le MS Office installé est-il 32 bits ou 64 bits ? Le redistribuable dont tsuji parle existe en 32 bits et 64 bits ce qui permet d'avoir les drivers access 32 et 64 bits.
    Ami calmant, J.P
    Merci pour votre réponse.
    Je tourne sous Python 3.9.7 en 64 bits, Access 2010 32 bits.
    J'ai essayé d'installer AccessDatabaseEngine_X64, mais qui me demande au préalable de désinstaller Access, Office et Publisher, ce qui m'est difficile pour raison pro, sans parler de ce que la réinstallation risque de poser problème avec la désincrémentation des installations.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Je n'ai rien contre vous mais je rappelle régulièrement qu'on cherche sur Internet après s'être cogné la documentation (elle a le mérite d'être "à jour") et parcouru la buglist des problèmes remontés chez les développeurs (au cas où et si elle existe)...

    Après on peut s'amuser à trier les potins sur Internet (mais là on est coincé par les mots clefs à entrer et est-ce qu'on pose bien le problème est une réflexion à avoir avant de s'enliser à trier...).

    Enfin, on demande de l'aide dans les forums (et le temps passé à essayer d'avancer sur le problème se verra dans la description...).

    - W
    Merci pour votre réponse. Votre premier commentaire était un peu piquant, mais juste et a eu le mérite de mettre en évidence mon insuffisance de recherche (je cherche pourtant là-dessus depuis un moment, mais avais fait une grosse pause, la période CoViD m'ayant pas mal occupé). Je n'avais jamais eu l'idée d'aller voir la doc.
    Le réponse y est, puisque avec Python 64bits, il faut avoir les drivers odbc 64bits, et j'ai les 32 installés. L'installation des 64bits supposerait que je désinstalle Access, Office, Publisher, tâche qui m'ennuie car m'en sers quotidiennement. Il va me falloir trouver une autre option, peut-être convertir mes bases en format dbf.

    Merci beaucoup dans tous les cas.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Après on peut s'amuser à trier les potins sur Internet (mais là on est coincé par les mots clefs à entrer et est-ce qu'on pose bien le problème est une réflexion à avoir avant de s'enliser à trier...).
    - W
    En reprenant des éléments que j'avais déjà vus en 2019, j'ai trouvé un moyen d'installer aussi les drivers odbc 64bits (ce qui n'est pas trop recommandé dans le lien que vous m'aviez donné), ce qui a fait planter mon Access 32bits => désinstallation dans la foulée des drivers en question.
    Je pense que mon problème n'a pas de solution avec Python 64 bits.
    Merci pour vos pistes.

  12. #12
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    J'ai Access 2010 installé, sur lequel je fais tourner la base de données de mon cabinet.
    Eh bien, dans ce cqs, regardez qu'est-ce que ça donne ? Est-ce qu'il contient Microsoft Access Driver (*.mdb, *.accdb) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import pyodbc
    print([x for x in pyodbc,drivers()]
    Si il n'y en a pas, je dirais faire installer en plus le engin d'access db 2010 redistribuable et graduite 32-bit ou 64-bit d'après votre système :
    https://www.microsoft.com/en-us/down....aspx?id=13255

  13. #13
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par tsuji Voir le message
    Eh bien, dans ce cqs, regardez qu'est-ce que ça donne ? Est-ce qu'il contient Microsoft Access Driver (*.mdb, *.accdb) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import pyodbc
    print([x for x in pyodbc,drivers()]
    Si il n'y en a pas, je dirais faire installer en plus le engin d'access db 2010 redistribuable et graduite 32-bit ou 64-bit d'après votre système :
    https://www.microsoft.com/en-us/down....aspx?id=13255
    Merci Tsuji.
    J'avais fait la recherche des drivers pyodbc installés, il n'y en avait aucun, alors que j'avais le Microsoft Access Driver 32 bits disponible dans l'administrateur de sources de bd ODBC disponibles.
    Sur le conseil de @wiztricks, j'ai été voir la doc de pyodbc, qui indique qu'il faut avoir les drivers 64bits pour tourner avec python 64bits. J'ai essayé de les installer en plus des 32 bits, ils étaient devenus visibles dans la liste des drivers pyodbc, mais ça faisait planter mon Access 32 bits. J'ai désinstallé tout ça vite fait !
    Je crois que mon problème n'a guère de solution , je vais me tourner vers une exportation de mes bases en dbf ou mysql, éventuellement acheter une version 64 bits de Access 2010, si j'arrive à en trouver une, qui continuerait de tourner avec les drivers odbc 64 bits installés.

  14. #14
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 095
    Points : 9 583
    Points
    9 583
    Par défaut
    Hello;
    pour pouvoir installer la version 64 bits du accessdatabaseengine avec un MS Office 32 bits installé sur son ordinateur, il faut passer par une invite de commande pour lancer l'installation :
    1 - Télécharger le redistribuable accessdatabaseengine_X64.exe
    2 - Ouvrir une invite de commande (cmd.exe)
    3 - Lancer la commande :
    accessdatabaseengine_X64.exe /quiet
    Plus de renseignement ici

    Ami calmant, J.P

  15. #15
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Hello;
    pour pouvoir installer la version 64 bits du accessdatabaseengine avec un MS Office 32 bits installé sur son ordinateur, il faut passer par une invite de commande pour lancer l'installation :
    1 - Télécharger le redistribuable accessdatabaseengine_X64.exe
    2 - Ouvrir une invite de commande (cmd.exe)
    3 - Lancer la commande :
    accessdatabaseengine_X64.exe /quiet
    Plus de renseignement ici

    Ami calmant, J.P
    Merci Jurassic,
    Je l'avais fait (en passant par un batch et en utilisant /passive, mais c'est équivalent je crois), ce qui a très bien marché et installé en parallèle les deux versions, 32 et 64 bits. Mais comme indiqué dans la doc de pyodbc, Access n'a plus voulu se lancer, ce qui a été corrigé par la désinstallation des pilotes 64 bits.... Charybde en Scylla !
    Je pense que je vais passer mes tables Access sous un autre environnement, ça me désole, mais bon...
    Merci pour tes conseils
    ****
    Après avoir regardé ton lien, je n'avais pas fait les vérifs sur la base de registre, je réessaierai ce soir en suivant le protocole indiqué.
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FIREBIRD]Drivers ODBC
    Par tripper.dim dans le forum Connexion aux bases de données
    Réponses: 10
    Dernier message: 24/04/2007, 12h02
  2. [Sage 100] Où trouver un driver ODBC ?
    Par Wasfi AG dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 14/03/2006, 11h49
  3. Drivers ODBC
    Par kevinss dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 31/03/2004, 15h32
  4. Driver ODBC pour interbase
    Par Houben Jacques dans le forum InterBase
    Réponses: 2
    Dernier message: 28/05/2003, 21h41
  5. URGENT DRIVER ODBC
    Par Casp dans le forum Débuter
    Réponses: 3
    Dernier message: 28/04/2003, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo