远程写入SQLite数据库

0 投票
1 回答
766 浏览
提问于 2025-04-17 16:48

我想找到一种方法,可以从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更简单的框架。具体选择哪个框架,还是要看你的实际需求是什么。

撰写回答