r - R dbReadTable 没有返回这样的表错误
问题描述
我昨天成功运行了这段代码,但是今天,我收到了“没有这样的表”错误。我正在尝试使用 将 SQLite 数据库中的表(名为 tblLatjamInputs)中的数据提取到 R 中DBI::dbReadTable()
,但它的行为就像该表不存在一样。
使用 SQLiteStudio
并分别命令行
我可以看到该表确实存在并且表中有数据。
这是代码,既是写出来的,也是屏幕截图,所以你可以看到我得到的错误。
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)
返回character(0)
,并且dbListFields(db, "lkpSpecies")
(数据库中的另一个表)也返回 no such table 错误。
我检查了数据库中表名周围没有空格。我还尝试从其他表中提取数据(以查看它是否只是该表的问题),但我得到了同样的错误。我曾多次尝试断开和重新连接到数据库,包括断开与数据库的连接,关闭 SQLiteStudio 和命令行,然后重新打开。我还尝试关闭所有内容,包括 R,重新加载项目,然后从头开始。我还尝试以相同的结果完全连接到不同的数据库(R 建立了连接,但似乎找不到任何表)。我完全感到困惑,因为正如我所提到的,所有这些在命令行中都可以正常工作,而且我昨天使用相同的数据库、表和代码行进行了此操作,并且工作正常。
解决方案
利用
db <- dbConnect(SQLite(), "lookup_and_tracking.sqlite")
问题是文件名参数没有命名conn=
;它是dbname=
默认值""
,它会创建一个新的空数据库。
推荐阅读
- javascript - data-turbolinks false 不适用于正常的锚标记
- php - 如何使用 htaccess 在 codeignator 中重定向 URL?
- eclipse-plugin - Eclipse IDE 变量、范围和存储
- javascript - 带有“if else”指令和日期的未处理承诺拒绝
- java - 单击 ListView 项目并在另一个活动中显示其数据库内容
- python - sorted() 自动按元组的第二个元素排序
- encryption - 在 OutSystems 应用中实现 AES/RES 加密解密
- python - Appending specific indices from zipped lists
- jsse - Tomcat8不断显示https-jsse-nio-443-exec日志
- php - 如何在 Symfony 3.4 中获取当前页面 URL