我的计算机上安装了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以允许执行此操作。
谢谢。
有一个“非官方”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
读取驱动程序相关问题 更多 >
编程相关推荐