用于查询Access数据库(.mdb)文件的只读方法?

2024-05-16 08:05:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个读取.MDB数据库并将其转换为csv文件的代码,由于我的数据库位于共享网络文件夹中,当代码读取数据库时,其他测试装备无法写入数据库

我需要一种将此.mdb读取为只读的方法,以便每个人都可以在阅读此代码时打开它进行编辑

import pyodbc

DRV = '{Microsoft Access Driver (*.mdb)}'
PWD = ''
    
mdb = 'C:\newfolder\database.mdb'
    
con = pyodbc.connect('DRIVER={};DBQ={};PWD={}'.format(DRV, mdb, PWD)) # connect to db
cur = con.cursor()
sql = 'SELECT * FROM CK_Test_Results;' # run a query and get the results
rows = cur.execute(sql).fetchall()
cur.close()
con.close()
    
with open('Database.csv', 'w', newline='') as fou:
    csv_writer = csv.writer(fou) # default field-delimiter is ","
    csv_writer.writerows(rows)

Tags: csv代码数据库closesqlconnectpwdcon
2条回答

您可以通过将;ReadOnly=1附加到连接字符串来强制连接为只读。但是,在您阅读数据库时,其他用户当然可以更新数据库

检查.mdb文件所在的文件夹的权限数据库的所有用户必须具有对文件夹的读/写访问权限,才能使并发多用户访问正常工作。详情见this answer

从控制面板/管理工具编辑ODBC连接文件。选择ODBC驱动程序,然后单击配置,然后单击选项。在显示窗口的底部,您应该看到独占和/或只读

相关问题 更多 >