查询 Access 数据库 (.mdb) 文件的只读方法?
Read only method for querying an Access database (.mdb) file?
我有一个读取 .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)
从控件 Panel/Administrative 工具编辑您的 ODBC 连接文件。 Select ODBC 驱动程序,然后单击“配置”,然后单击“选项”。在显示的 window 底部,您应该看到 Exclusive and/or Read Only。
您可以通过将 ;ReadOnly=1
附加到您的连接字符串来强制连接为只读。但是,其他用户当然可以在您阅读数据库时更新它。
检查 .mdb 文件所在的文件夹的权限; 所有 数据库用户必须read/write 访问该文件夹才能使并发多用户访问正常工作。有关详细信息,请参阅 this answer。
我有一个读取 .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)
从控件 Panel/Administrative 工具编辑您的 ODBC 连接文件。 Select ODBC 驱动程序,然后单击“配置”,然后单击“选项”。在显示的 window 底部,您应该看到 Exclusive and/or Read Only。
您可以通过将 ;ReadOnly=1
附加到您的连接字符串来强制连接为只读。但是,其他用户当然可以在您阅读数据库时更新它。
检查 .mdb 文件所在的文件夹的权限; 所有 数据库用户必须read/write 访问该文件夹才能使并发多用户访问正常工作。有关详细信息,请参阅 this answer。