如何安装pyodbc 64位?

2024-04-30 04:41:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我的计算机上安装了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

所以我有两个问题:

1)是否可以强制easy_install下载64位pyodbc,或者可以手动下载64位pyodbc?

2)如果无法执行上述操作,是否可以使用Microsoft ODBC数据源管理器窗口配置DSN以允许执行此操作。

谢谢。


Tags: installandnamedriverconnect错误easymysql
2条回答

有一个“非官方”Python模块列表here

PyODBC是已编译为64位的数据库之一。

另外,请确保使用的ODBC管理员版本正确。默认为64位驱动程序,但您可以将32位驱动程序与%windir%\SysWOW64\odbcad32.exe一起使用

我花了很多时间来找出为什么pyodbc看不到64位ODBC驱动程序 因为我混淆了窗户的咬痕。所以我要说清楚

Python 32位+pyodbc 32位(从pip安装时默认)将从%windir%\SysWOW64\odbcad32.exe读取驱动程序

Python 64位+pyodbc64位(必须从here下载)将从%windir%\System32\odbcad32.exe读取驱动程序

相关问题 更多 >