У меня есть Python 2.7, MySQL 5.5, MySQL ODBC Connector 5.1 и pyodbc, все они установлены на моем компьютере под управлением Windows 7, 64-бит...
Единственная проблема в том, что все установлено как 64-разрядная версия. бит, кроме pyodbc, который является 32-битным.
При использовании 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
Итак, у меня два вопроса:
1) Возможно ли заставить easy_install загрузить 64-битный pyodbc, или можно загрузить 64-битный pyodbc вручную?
2) Если вышеуказанное невозможно, можно ли настроить DSN, чтобы разрешить это, используя окно администратора источника данных Microsoft ODBC.
Спасибо.