0

我正在寻找一种方法来从 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 DB API 结合起来,以便提供一种流式传输预构建 SQLite 数据库的方法,而无需在主机或远程上进行额外的文件写入?

换句话说,像这样:

f = self.sftp.open(path, 'wb')
conn = sqlite3.connection(f)
4

1 回答 1

1

不能直接解决您的问题,但这就是 web api 的用途。构建一个类似 REST 的 api 可能是一个不错的选择。

由于您已经在 python 中,我会看看Django ,它可以使用django-tastypie提供一个 drop-ship API 。 如果您使用已经存在的数据库模式进行操作, Django将是一个不太理想的解决方案,尽管您可以使其工作。

您可能还想研究Pylons,它是一个比 Django 更通用/准系统的框架。一切都取决于您的实际要求。

于 2013-02-22T20:43:17.653 回答