8

Python 2.7、MySQL 5.5、MySQL ODBC Connector 5.1、およびpyodbcがすべて、Windows 7、64ビットを実行しているコンピューターにインストールされています...

唯一の問題は、32ビットのpyodbcを除いて、すべてが64ビットとしてインストールされることです。

easy_installを使用してpyodbcをダウンロードすると、32ビットバージョンが自動的にダウンロードされます。したがって、次を使用してデータベースに接続しようとすると、次のようになります。

cnxn = pyodbc.connect('DRIVER={MySQL ODBC 5.1 DRIVER};SERVER=localhost;DATABASE=test;UID=root;PWD=password')

エラーが発生します:

Data source name not found and no default driver specified (0) (SQLDriverConnect)

そして、DSNを次のように指定しようとすると:

cnxn = pyodbc.connect('DSN=dsn_name;etc...')

エラーが発生します:

The specified DSN contains an architecture mismatch between the Driver and Application (0) (SQLDriverConnect)

このリンクは、予想どおり、これは32/64ビットの不一致によるものであることを示しています:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms712362 (v = vs.85).aspx

だから私は2つの質問があります:

1)easy_installに64ビットpyodbcを強制的にダウンロードさせることは可能ですか、それとも64ビットpyodbcを手動でダウンロードすることは可能ですか?

2)上記が不可能な場合、Microsoft ODBCデータソースアドミニストレータウィンドウを使用して、これを許可するようにDSNを構成することは可能ですか。

ありがとう。

4

2 に答える 2

4

ここに「非公式」Pythonモジュールのリストがあります

PyODBCは、64ビット用にコンパイルされたものの1つです。

また、正しいバージョンのODBCAdministratorを使用していることを確認してください。デフォルトは64ビットドライバー用ですが、32ビットドライバーは%windir%\SysWOW64\odbcad32.exe

于 2012-06-19T20:30:46.403 に答える
1

Windowsのビット数を混同したために、 pyodbcが64ビットのODBCドライバーを認識できない理由を見つけるために多くの時間を費やしています。だから私はそれを明確にします

Python32ビット+pyodbc32ビット(pipからインストールする場合のデフォルト)は、%windir%\SysWOW64\odbcad32.exe

Python64ビット+pyodbc64ビット(ここからダウンロードする必要があります)は、からドライバーを読み取ります%windir%\System32\odbcad32.exe

于 2018-08-15T07:04:35.593 に答える