2017-06-21 4 views
0

Je viens d'installer Microsoft Office 64 bits sur un nouvel ordinateur et également installé 64bit python 3.6.ne peut pas se connecter à la base de données MsAccess 64 bits avec 64 bits Python 3.6.ODBC Pilote Erreur

J'essaie de me connecter à une base de données d'accès avec mon script python, mais je reçois toujours l'erreur suivante qui suggère que j'ai le pilote 32 bits ODBC au lieu du pilote 64 bits?

Des idées sur la façon de se connecter sans avoir à installer 32 bits MS Office et 32 ​​bits Python?

C'est le message d'erreur que je reçois:

cnxn = pyodbc.connect (connstr) pyodbc.Error: ('IM002', « [IM002] [Microsoft] [Pilote ODBC Manager] Nom de la source de données non trouvé et aucun pilote par défaut spécifié (0) (SQLDriverConnect) ')

Voici mon code:

import pyodbc 
connStr = (
      r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};" 
      r"DBQ=C:\Documents\Test.accdb;" 
     ) 
cnxn = pyodbc.connect(connStr) 
cursor = cnxn.cursor() 
cursor.execute("SELECT * FROM Test") 

Répondre

2

J'ai personnellement ne sont pas traités 64 bits applications MS office ou les pilotes, mais le Access Database Engine 2016 Redistributable contient un 64 Version binaire incluant le lecteur ODBC rs (je pense).

D'ailleurs, même le Access Database Engine 2010 Redistributable a également une version 64 bits.

Vous pouvez également utiliser l'Administrateur de sources de données ODBC pour créer et gérer le nom de source de données (DSN). Il existe des programmes administrateur distincts pour les programmes 32 bits et 64 bits. Sur mon ordinateur Windows 10, les raccourcis se trouvent sous "Outils d'administration Windows" et sont étiquetés "Source de données ODBC (32 bits)" et "Source de données ODBC (64 bits)".

En définissant un DNS, vous pouvez spécifier le pilote à utiliser pour ouvrir la base de données. Mais vous devez également pouvoir vous référer au DNS dans vos paramètres de connexion, malheureusement je ne suis pas familier avec la façon de le faire dans votre programme python. J'espère au moins que cela donne un indice sur le début.

+0

Merci beaucoup, j'ai réussi à le faire fonctionner. Je pense que j'avais des traces de 32bit Office sur mon ordinateur, j'ai donc désinstallé Office, installé le pilote ODBC 64 bits de votre lien redistribuable Access Database Engine 2016 puis réinstallé le bureau et tout semble bien! Je vous remercie! – NKpanda