2010-04-15 72 views
0

我写了一个查询,我想在多个访问数据库中运行。我有1000 +访问数据库与相同的表(相同的名称,相同的字段)。到目前为止,我已经手动将此查询从txt文件复制到每个数据库的访问查询设计屏幕中的sql视图,然后运行它。我不需要更改查询语言 - 对于1000个数据库,所有内容都是相同的。有没有办法让这个自动化?在不同的数据库中运行相同的查询

回答

1

您可以自动使用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) 
相关问题