R dbReadTable returns 没有这样的 table 错误

R dbReadTable returns no such table error

昨天我运行这段代码成功了,但是今天,我遇到了'no such table'错误。我正在尝试使用 DBI::dbReadTable() 将 table(名为 tblLatjamInputs)中的数据从 SQLite 数据库提取到 R 中,但它的行为就好像 table 不存在一样。

使用 SQLiteStudio

和单独的命令行

,

我可以看到 table 确实存在并且 table.

中有数据

这是代码,既有写出来的,也有截屏的,所以你可以看到我遇到的错误。

setwd("D:/hsm/databases")
db <- dbConnect(SQLite(), conn = "lookup_and_tracking.sqlite")
tblName <- "tblLatjamInputs"
df.full <- dbReadTable(db, tblName)
Error in result_create(conn@ptr, statement) : no such table: tblLatjamInputs

tblName 行更改为以下时,我遇到了同样的错误:tblName <- dbQuoteIdentifier(db, "tblLatjamInputs")

dbListTables(db) returns character(0)dbListFields(db, "lkpSpecies")(数据库中的不同 table)returns 没有这样的 table 也有错误。

我检查了数据库中 table 名称周围没有空格。我还尝试从其他 table 中提取数据(看看它是否只是这个 table 的问题),但我得到了同样的错误。我曾多次尝试断开并重新连接到数据库,包括断开与数据库的连接,关闭 SQLiteStudio 和命令行,然后重新打开。我还尝试关闭所有内容,包括 R,重新加载项目,然后从头开始。我还尝试连接到完全相同的结果的不同数据库(R 建立连接,但似乎找不到任何 tables)。我完全感到困惑,因为正如我所提到的,所有这些在命令行中都运行良好,而我昨天使用相同的数据库 table 和代码行进行了此操作,并且运行良好。

使用

db <- dbConnect(SQLite(), "lookup_and_tracking.sqlite")

问题是文件名参数没有命名conn=;它是 dbname=,默认值是 "",这会创建一个新的空数据库。