--coding:utf-8--
'''Access數據庫連接網上大致有兩種方法,一種是使用pyodbc,另一種是使用win32com.clientI(此處方法一安裝,win32com下次有空再試試)
方法一:
一、安裝第三方庫 pyodbc
Pip install pyodbc
二、檢驗是否可以正常連接數據庫
檢查是否有一個Microsoft Access ODBC驅動程序可用於你的Python環境(在Windows上)的方法:
>>> import pyodbc
>>> [x for x in pyodbc.drivers() if x.startswith('Microsoft Access Driver')]
如果你看到一個空列表,那么您正在運行64位Python,並且需要安裝64位版本的“ACE”驅動程序。
如果您只看到['Microsoft Access Driver (*.mdb)']並且需要使用.accdb文件,那么您需要安裝32位版本的“ACE”驅動程序
三、安裝64位的ODBC 驅動器:
1.Microsoft Access 2016 數據庫引擎可再發行程序包
1.Microsoft Access Database Engine 2016 Redistributable
https://www.microsoft.com/en-us/download/details.aspx?id=54920
2.Microsoft Access 2010 數據庫引擎可再發行程序包
2.Microsoft Access Database Engine 2010 Redistributable
https://www.microsoft.com/en-us/download/details.aspx?id=13255
右擊文件accessdatabaseengine_X64.exe(約79.5Mb大小)選擇以管理員模式運行即可安裝【此處使用版本為2016】
[
報錯:Microsoft office Click-to-Run Service (Process ld: 4240)
解決:打開任務管理器,可以看到在后台有一個Microsoft Office Click-to-run(SXS)的進程。
]
注意:
- 如何查看Access是32位還是64位
--->>> 文件 > 賬戶 > 關於Access'''
import pyodbc
python_Access.accdb
DBfile = r"./python_Access.accdb" # 數據庫文件需要帶路徑
print(DBfile)
d = [x for x in pyodbc.drivers() if x.startswith('Microsoft Access Driver')]
print(d)
連接數據庫(不需要配置數據源),connect()函數創建並返回一個 Connection 對象
1.創建鏈接
conn = pyodbc.connect(r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + DBfile + ";Uid=;Pwd=;")
cursor()使用該連接創建(並返回)一個游標或類游標的對象
2.創建游標
cursor = conn.cursor()
cnxn = pyodbc.connect('DSN=pyAcc.mdb;PWD=password')
cursor = cnxn.cursor()
print('查詢所有表名
')
for table_info in cursor.tables(tableType='TABLE'):
print(table_info.table_name)
3.創建SQL查詢語句
SQL = "SELECT * from datatable;"
SQL = "SELECT * from 銷售出庫詳情 where id<10;"
4.執行查詢
datas = cursor.execute("SELECT * from 銷售出庫詳情") # <pyodbc.Cursor object at 0x000001B851E04BB0>
print(type(datas))
for row in cursor.execute(SQL):
print(row) # <class 'pyodbc.Row'>
print(type(row))
cursor.close()
conn.close()