Как установить pyodbc 64-bit?



У меня есть 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=против 85).aspx



Итак, у меня есть два вопроса:



1) Можно ли заставить easy_install загрузить 64-разрядный pyodbc, или можно загрузить 64-разрядный pyodbc вручную?



2) Если вышеописанное невозможно, можно ли настроить DSN, чтобы разрешить это с помощью окна администратора источника данных Microsoft ODBC.



Спасибо.

571   2  

2 ответов:

Здесь есть список "неофициальных" модулей Python

PyODBC является одним из тех, которые были скомпилированы для 64bits.

Кроме того, убедитесь, что вы используете правильную версию администратора ODBC. Значение по умолчанию будет для 64-битных драйверов, но вы можете использовать 32-битные драйверы с %windir%\SysWOW64\odbcad32.exe

Я трачу много времени, чтобы выяснить, почему pyodbc не может видеть 64-битный драйвер ODBC потому что я путался между битностью окон. Поэтому я поясню, что

Python 32 bit + pyodbc 32 bit (по умолчанию при установке из pip) будет считывать драйвер из %windir%\SysWOW64\odbcad32.exe

Python 64 bit + pyodbc 64 bit (вы должны скачать из здесь) будет читать драйвер из %windir%\System32\odbcad32.exe

Comments

    Ничего не найдено.