DBConnect 在 R 中以只读模式打开 SQLite

DBConnect to open SQLite in read-only mode in R

我正在努力将一个简单的 Python 脚本转换为 R 以用作连接 SQLite 文件的模板。数据在 NFS 挂载上,我们 运行 在设置原始 Python 模板时遇到了一些障碍(即 IO 错误),但我们能够通过连接来解决这些问题只读模式并将 VFS 设置为 unix-none,例如:

# Python version
path = "file///mnt_nfs/examplepath.edu/path/file.db"
connect = sqlite3.connect(path + "?mode=ro&vfs=unix-none", uri = True)
cur = connect.cursor()

虽然我们知道这远非完美的解决方案,但在我们建立更强大的数据库(这样我们的用户仍然可以同时连接到他们的数据)时,它是一个临时解决方案。然而,我们的大多数学生对 R 的熟悉程度超过 Python,我很难找到如何在 R 中重新创建解决方法。是否有某种方法可以设置 dbConnect 以包含只读和 unix-none 参数(或等价物)? 我有基础知识,但在我们添加参数之前,它会抛出与 Python 代码类似的磁盘 IO 错误。我似乎无法在 DBI 文档中找到关于它的任何信息。

connect <- dbConnect(RSQLite::SQLite(), path)

我认为是

dbConnect(SQLite(), dbname=path, flags=SQLITE_RO, vfs="unix-none")

记录在

library(RSQLite)
?`dbConnect,SQLiteDriver-method`