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

Python 2.7 无法从python中附加的sqlite3数据库中读取表,python-2.7,sqlite,Python 2.7,Sqlite,我可以连接到sqlite3中的一个数据库,附加另一个数据库,并运行内部连接从两个表中检索记录,每个数据库中一个。但是当我尝试在命令行上运行python脚本时,我没有得到任何结果——错误显示表(在附加的数据库中)不存在 将sqlite3导入为lite db_acts='/full/path/to/activities.db' db_-sign='/full/path/to/sign_-up.db' def join_tables(): localhost上的响应与我刚刚运行测试的HostGator

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

将sqlite3导入为lite db_acts='/full/path/to/activities.db' db_-sign='/full/path/to/sign_-up.db'

def join_tables():


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

在该语句中放置一些print语句,以显示您在代码中的位置。如果您在未能执行“Exception”之前通过了“try”子句中的“attach database”命令,然后再次尝试附加数据库,您将看到错误,因为您尝试将数据库附加到同一名称两次。谢谢!print语句在附加数据库后工作,但一旦select语句生成(在附加数据库的表上),除非我将相同的语句复制到“except”子句(前面有cursor.execute)(“detach database“sign_up”)以避免“database in use”错误,否则不会打印任何内容。该错误在该数据库的任何表上显示为“sqlite3.OperationalError:没有这样的表:table_name”。python sqlite3 db连接如何在没有表的情况下附加数据库?问题在于select语句。这将打印附加别名为“su”的数据库中的表的表结构:cursor.execute(“从su.sqlite\u master中选择sql,其中type='table'和name='users')。但是我还没有找到如何找到表中的行。
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)