在不同的数据库中运行相同的查询
问题描述:
我写了一个查询,我想在多个访问数据库中运行。我有1000 +访问数据库与相同的表(相同的名称,相同的字段)。到目前为止,我已经手动将此查询从txt文件复制到每个数据库的访问查询设计屏幕中的sql视图,然后运行它。我不需要更改查询语言 - 对于1000个数据库,所有内容都是相同的。有没有办法让这个自动化?在不同的数据库中运行相同的查询
答
您可以自动使用Python的pyodbc module。
像这样的东西应该让你开始:
import pyodbc
def qry_ms_access(db, sql):
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};DBQ='+db,
autocommit=True)
c = conn.cursor()
c.execute(sql)
for row in c:
print row.mycol
c.close()
conn.close()
if __name__ == "__main__":
DBS = ['/path/to/MSAccessDb1.mdb', '/path/to/MSAccessDb2.mdb'] # etcetera
sql = 'SELECT mycol FROM MyTable;'
for db in DBS:
qry_ms_access(db, sql)