64位系统中使用32位的Access数据源遇到的问题和解决办法
win32com.client使用不对应的Access数据源可能有以下错误
"C:\Program Files\Python34\python.exe" C:/Users/xupeng02/PycharmProjects/Awvsy/awvsy_test.py
Traceback (most recent call last):
File "C:/Users/xupeng02/PycharmProjects/Awvsy/awvsy_test.py", line 22, in <module>
conn.Open('Access')
File "<COMObject ADODB.Connection>", line 3, in Open
File "C:\Program Files\Python34\lib\site-packages\win32com\client\dynamic.py", line 287, in _ApplyTypes_
result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)
pywintypes.com_error: (-2147352567, '发生意外。', (0, 'Microsoft OLE DB Provider for ODBC Drivers', '[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配', None, 0, -2147467259), None)
pyodbc使用不对应的Access数据源可能有以下错误
"C:\Program Files\Python34\python.exe" C:/Users/xupeng02/PycharmProjects/Awvsy/awvsy_test.py
Traceback (most recent call last):
File "C:/Users/xupeng02/PycharmProjects/Awvsy/awvsy_test.py", line 15, in <module>
conn = pyodbc.connect('DSN=Access')
pyodbc.Error: ('IM014', '[IM014] [Microsoft][ODBC �������������] ��ָ���� DSN �У����������Ӧ�ó���֮�����ϵ�ṹ��ƥ�� (0) (SQLDriverConnect)')
解决办法:
安装64位aceess引擎,并添加64位access数据源
64位添加数据源的位置:C:\Windows\System32\odbcad32.exe
32位添加数据源的位置:C:\Windows\SysWOW64\odbcad32.exe
http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine_x64.exe