亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Python3.7中使用pyodbc配置訪問access數據庫

發布時間:2021-05-31 16:53:40 來源:億速云 閱讀:450 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在Python3.7中使用pyodbc配置訪問access數據庫,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

數據庫連接

數據庫連接網上大致有兩種方法,一種是使用pyodbc,另一種是使用win32com.client,測試了很多遍,最終只有pyodbc成功,而且比較好用,所以這里只介紹這種方法

工具庫安裝

在此基礎上安裝pyodbc工具庫,在cmd窗口執行如下語句安裝

pip install pyodbc

如果安裝了anaconda也可以使用conda install pyodbc

怎么在Python3.7中使用pyodbc配置訪問access數據庫

分享給大家供大家參考,具體如下:

檢驗是否可以正常連接數據庫檢查是否有一個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”驅動程序

pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC 驅動程序管理器] 未發
現數據源名稱并且未指定默認驅動程序 (0) (SQLDriverConnect)')

例如上面這樣的提示就需要安裝64位的ODBC 驅動器:

64位ODBC驅動器的下載地址 https://www.microsoft.com/en-us/download/details.aspx?id=13255
直接安裝會報錯,所以我們需要修改一下文件AccessDatabaseEngine_X64.exe,先對其進行解壓,然后打開AccessDatabaseEngine_X64文件夾,有一個AceRedist.msi文件。用Orca軟件將AceRedist.msi打開,找到找到LaunchCondition里面的BLOCKINSTALLATION,刪除那一行數據并進行保存。然后再運行AceRedist.msi,就可以把64位的ODBC 驅動器安裝成功。

如果感覺上面的操作比較麻煩,可以直接下載億速云小編已經處理過的版本。

下載地址:https://www.jb51.net/softs/695978.html

注意:

1、不用配置數據源
2、Orcad的下載地址 https://www.jb51.net/softs/16217.html

下面是經過億速云小編測試過的代碼

access是2000的,理論上2010也可以。

import pyodbc 
 
DBfile = r"F:\python\caiji.mdb" # 數據庫文件需要帶路徑
print(DBfile)
conn = pyodbc.connect(r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+ DBfile +";Uid=;Pwd=;") 
cursor = conn.cursor() 
SQL = "SELECT * from sites;"
for row in cursor.execute(SQL): 
 print(row) 
cursor.close() 
conn.close()

如果可以打印出結果

怎么在Python3.7中使用pyodbc配置訪問access數據庫

完整測試代碼

# -*-coding:utf-8-*-
import pyodbc
 
# 連接數據庫(不需要配置數據源),connect()函數創建并返回一個 Connection 對象
cnxn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\data\goods.mdb')
# cursor()使用該連接創建(并返回)一個游標或類游標的對象
crsr = cnxn.cursor()
 
# 打印數據庫goods.mdb中的所有表的表名
print('`````````````` goods ``````````````')
for table_info in crsr.tables(tableType='TABLE'):
 print(table_info.table_name)
 
 
l = crsr.execute("SELECT * from goods WHERE goodsId='0001'")# [('0001', '扇葉', 20, 'A公司', 'B公司', 2000, 2009)]
 
rows = crsr.execute("SELECT currentStock from goods") # 返回的是一個元組
for item in rows:
 print(item)
 
l = crsr.execute("UPDATE users SET username='lind' WHERE password='123456'")
print(crsr.rowcount) # 想知道數據修改和刪除時,到底影響了多少條記錄,這個時候你可以使用cursor.rowcount的返回值。
 
# 修改數據庫中int類型的值
value = 10
SQL = "UPDATE goods " \
 "SET lowestStock=" + str(value) + " " \
 "WHERE goodsId='0005'"
 
# 刪除表users
crsr.execute("DROP TABLE users")
# 創建新表 users
crsr.execute('CREATE TABLE users (login VARCHAR(8),userid INT, projid INT)')
# 給表中插入新數據
crsr.execute("INSERT INTO users VALUES('Linda',211,151)")
 
''''''
# 更新數據
crsr.execute("UPDATE users SET projid=1 WHERE userid=211")
 
# 刪除行數據
crsr.execute("DELETE FROM goods WHERE goodNum='0001'")
 
# 打印查詢的結果
for row in crsr.execute("SELECT * from users"):
 print(row)
 
 
# 提交數據(只有提交之后,所有的操作才會對實際的物理表格產生影響)
crsr.commit()
crsr.close()
cnxn.close()

補充

# -*- coding: utf-8 -*-
# 功能:python連接access2010數據庫(.accdb)
 
import pyodbc
 
DBfile = r"C:\Users\lenovo\Desktop\test.accdb" # 數據庫文件
conn = pyodbc.connect(r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + DBfile + ";Uid=;Pwd=;")
 
 
cursor = conn.cursor()
SQL = "SELECT * from table1;"
for row in cursor.execute(SQL):
  print row.col1
cursor.close()

看完上述內容,你們對怎么在Python3.7中使用pyodbc配置訪問access數據庫有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

格尔木市| 闽侯县| 上饶县| 东城区| 兴海县| 府谷县| 东方市| 阜城县| 江北区| 外汇| 武鸣县| 靖宇县| 石棉县| 浦城县| 治多县| 金坛市| 太康县| 社会| 江阴市| 德化县| 夏邑县| 湘阴县| 绥阳县| 马山县| 林州市| 浦江县| 甘南县| 右玉县| 称多县| 自治县| 清丰县| 仙游县| 镇原县| 沙洋县| 朔州市| 丹寨县| 泰兴市| 桃江县| 莎车县| 金溪县| 始兴县|