无法从python中附加的sqlite3数据库中读取表

时间:2015-02-05 01:05:34

标签: python-2.7 sqlite

我可以连接到sqlite3中的数据库,附加另一个数据库并运行内部联接以从两个表中检索记录,每个数据库中有一个表。但是当我尝试对在命令行上运行的python脚本执行相同操作时,我没有得到任何结果 - 错误读取表(在附加数据库中)不存在。

将sqlite3导入为lite db_acts ='/ fulll / path / to / activation.db' db_sign ='/ fulll / path / to / sign_up.db'

def join_tables():

try:                     
    con = lite.connect(db_acts) 
    cursor = con.cursor()   
    cursor.execute("attach database 'db_sign' as 'sign_up'")    
    cursor.execute("select users.ID, users.Email, users.TextMsg from sign_up.users INNER JOIN db_acts.alerts on sign_up.users.ID = db_acts.alerts.UID") 
    rows = cursor.fetchall()
    for row in rows:
        print 'row', row            
    con.commit()
    con.close()               

except lite.Error, e:
    print 'some error'
    sys.exit(1)

localhost上的响应与我刚刚运行测试的HostGator远程主机上的响应相同(此时它是一个没有用户输入的新站点)。从原始数据库连接中的表读取行没有问题 - 只读取附加数据库中的表。附件至少部分工作 - 在except子句中附加它的print语句表明数据库正在使用中。

0 个答案:

没有答案