我可以使用以下命令创建到本地 sqlite3 数据库的连接(使用 Mac OS X 10.5 和 Python 2.5.1):
conn = sqlite3.connect('/db/MyDb')
如果该数据库位于服务器上(例如运行 Ubuntu 8.04、IP 地址为 10.7.1.71 的服务器)并且未存储在本地,我如何连接到该数据库?
例如这似乎不起作用:
conn = sqlite3.connect('10.7.1.71./db/MyDb')
SQLite 仅是嵌入式的。您需要先安装远程文件系统,然后才能访问它。并且不要尝试同时让多于一台机器访问 SQLite 数据库; SQLite 并不是为此而构建的。如果需要的话,可以使用 PostgreSQL 之类的东西。
sqlite 常见问题解答有与您的问题相关的答案。它指出,虽然多机网络访问理论上是可能的(使用远程文件系统),但除非文件系统正确支持锁,否则它可能不可靠。
但是,如果您一次仅从一台机器和进程访问它,那么它应该可以正常工作,如该页面所述(并且取决于您正在使用的远程文件系统)。
你可以使用这个库,它会解决你的问题。 https://pypi.org/project/remote-sqlite/