2016-05-01 16 views
0

Python経由でMS Accessデータベース(.accdbファイル)に接続しようとしています。Pyodbc - 指定されたDSNにドライバとアプリケーションのアーキテクチャの不一致が含まれています

私はこの接続を行うためにpyodbcを使用:私はODBCデータソースアドミニストレータに行って、私は設定または削除しようとしたとき、

('IM002, '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') 

import pyodbc 
conn = pyodbc.connect("DRIVER = {Microsoft Access Driver (*.mdb, *.accdb)}; DBG=C:\\test_db.accdb") 

はしかし、私は次のエラーを得ましたドライバが私にメッセージを得ました:

Errors Found: 
The specified DSN contains an architecture mismatch between the Driver and Application 

このエラーは、 Windows(Windows 7 - 64bit)とMicrosoft Access(Office 2010 - 32bits)のバージョン間の非互換性。 32ビットと64ビットバージョンの両方でドライバを何度も再インストールしようとしましたが、問題は解決されませんでした。 この問題を解決するのに手伝ってください。前もって感謝します。

+0

32ビットバージョンのPythonを使用してコードを実行してみてください。 –

+0

@GordThompson別のバージョンを使用する代替手段はありませんか?私はいくつかのライブラリと設定を再構築するのが難しく、私のプログラムにはそれらが必要です。 – hardflow

+0

もう1つの方法は、32ビット版のOfficeをアンインストールしてから64ビット版のOfficeをインストールし、64ビット版のAccessデータベースエンジンをインストールする方法です。 –

答えて

1

PythonのバージョンがODBCドライバのバージョンと一致していることを確認する必要があります.32ビットの32ビット、64ビットの64ビットです。

64ビットPython/pyodbcと32ビットMS Accessがあるようです。

あなたがする必要があるのは、32ビット版のPythonをインストールし、pyodbcをインストールすることです。

幸運を祈る!

+0

はい。私はチェックし、私は64ビットのPythonを持っています。代わりに、それを再インストールするのではなく、何ですか?私は、再構築が困難なライブラリや設定をいくつか持っています。 – hardflow

+0

私はpyodbc以外のライブラリを使うことができました。唯一必要なことは、Pythonプログラムからこのmsアクセスデータベースにデータをインポート/エクスポートすることです。 – hardflow

関連する問題