远程写入SQLite数据库
我想找到一种方法,可以从SQLite数据库中获取结果,选择部分结构,然后通过paramiko在远程机器上重建这个结构,而不需要先生成一个本地文件或任何不是纯SQLite数据库的远程文件。
这篇博客文章提供了一种不错的方法,可以获取我想要的部分结构,但我需要先把它导出到一个文件,然后再通过远程脚本将其读入数据库:
http://blog.marcus-brinkmann.de/2010/08/27/how-to-use-sqlites-backup-in-python/
我知道paramiko可以提供类似远程文件的对象:
f = self.sftp.open(path, 'wb')
f.write(fileobj.read())
f.close()
有没有办法将一些文件对象、StringIO或字节转换与SQLite数据库的API结合起来,以便在不在主机或远程写入额外文件的情况下,流式传输一个预构建的SQLite数据库?
换句话说,类似这样的东西:
f = self.sftp.open(path, 'wb')
conn = sqlite3.connection(f)
1 个回答
1
这不是直接解决你问题的方法,但这就是网络接口(web api)的用途。建立一个类似REST的接口可能是个不错的选择。
既然你已经在用Python了,我建议你看看Django,它可以通过django-tastypie来提供一个简单的接口。如果你已经有了现成的数据库结构,使用Django可能不是最理想的选择,不过你还是可以让它工作。
你也可以考虑一下Pylons,这是一个比Django更简单的框架。具体选择哪个框架,还是要看你的实际需求是什么。