Python访问Access数据库的需要注意的几点

时间:2022-11-10 04:46:38

最近,几天想要使用Python访问Acceess数据库,但是遇到了如下的错误:

使用win32.client时的报错:

pywintypes.com_error: (-2147352567, '\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3', (0, u'ADODB.Connection', u'\u672a\u627e\u5230\u63d0\u4f9b\u7a0b\u5e8f\u3002\u8be5\u7a0b\u5e8f\u53ef\u80fd\u672a\u6b63\u786e\u5b89\u88c5\u3002', u'C:\\Windows\\HELP\\ADO270.CHM', 1240655, -2146824582), None)

使用pypyodbc时的报错:

Traceback (most recent call last):
  File "C:/Users/admin/PycharmProjects/test/test2.py", line 8, in
    conn = pypyodbc.win_connect_mdb('att2000.mdb')
  File "C:\Python27\lib\site-packages\pypyodbc.py", line 2740, in win_connect_mdb
    raise Exception('Access Driver is not found.')
Exception: Access Driver is not found.

总结一下解决这个问题:

使用python访问Access数据库可以使用:win32com.client、pypyodbc

出现上述错误:主要原因是没有安装Access数据库驱动,在这里注意

1.64位的office安装64位的数据库驱动;

2.安装驱动之后,配置ODBC数据源,如何安装ODBC的文章很多

完成上述之后,如果使用pypyodbc的话,访问Access数据库的话就没有问题

但是,使用win32com.client的话还是会出现上述的错误,在这里我的是64位的系统,你需要将设置为如下:

DSN = 'PROVIDER=Microsoft.ACE.OLEDB.12.0;DATA SOURCE=H:/test.mdb;'   



最后,其实你完全没有必要访问Access数据库做上述繁琐的事情,直接将Access数据库导出为.txt或者.csv格式的文件就行了。