【问题标题】:Connect to a remote sqlite3 database with Python使用 Python 连接到远程 sqlite3 数据库
【发布时间】:2010-02-23 13:13:38
【问题描述】:

我可以通过以下方式创建与本地 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')

【问题讨论】:

    标签: python macos sqlite


    【解决方案1】:

    SQLite 是仅嵌入的。您需要先挂载远程文件系统,然后才能访问它。并且不要试图一次让超过一台机器访问 SQLite 数据库; SQLite 不是为此而构建的。如果需要,请改用 PostgreSQL 之类的东西。

    【讨论】:

    • 我害怕那个。我想使用 MySQL db,但我仅限于使用与 OS X 10.5 ( 2.5.1) 捆绑的 Python 版本。我无法导入 2.5.1 中未包含的 mySQLdb 之类的模块...是否有另一个模块是 2.5.1 标准库的一部分,可以处理可以与 PostgreSQL 之类的东西对话的 SQL 命令?
    • Python 标准库中没有客户端/服务器 DBMS 模块。
    • SQLite 在并发访问方面没有问题,只要不是并发写入,这将在最坏的情况下降低性能。
    【解决方案2】:

    sqlite 常见问题解答有an answer relevant to your question。它指出,尽管理论上可以进行多机网络访问(使用远程文件系统),但除非文件系统正确支持锁,否则它可能不可靠。

    但是,如果您一次仅从一台机器和进程访问它,它应该可以正常工作,正如该页面所述(并且取决于您正在使用的远程文件系统)。

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 1970-01-01
      相关资源
      最近更新 更多