R语言连接SQLite数据库报错:对象'chinook'未找到求解决
解决R连接SQLite数据库时
object 'chinook' not found的错误 核心问题
你的代码中setwd()的参数错误——你传入了数据库文件的完整路径,但setwd()要求的是文件夹路径。这会导致R无法设置工作目录,后续dbConnect()找不到目标数据库文件,连接失败后chinook对象未被创建,因此调用dbListTables()时会报错。
修正方案
方案1:修正工作目录设置
将setwd()的参数改为数据库文件所在的文件夹路径,再执行连接:
library(DBI) library(RSQLite) # 设置正确的工作目录(文件夹路径) setwd("C:/Users/cliff/Downloads/MIS431") drv <- dbDriver("SQLite") chinook <- dbConnect(drv, dbname="Chinook.db") # 查看数据表 dbListTables(chinook) # 操作完成后关闭连接 dbDisconnect(chinook)
方案2:直接使用完整文件路径(更推荐)
跳过setwd(),直接在dbConnect()中指定数据库文件的完整路径,避免工作目录混乱:
library(DBI) library(RSQLite) # 直接传入数据库文件的完整路径 chinook <- dbConnect(RSQLite::SQLite(), dbname = "C:/Users/cliff/Downloads/MIS431/Chinook.db") # 查看数据表 dbListTables(chinook) # 关闭连接 dbDisconnect(chinook)
额外检查点
- 确认
Chinook.db文件确实存在于指定路径下,文件名拼写(包括大小写)与代码一致(Windows系统下SQLite不区分大小写,但保持一致更稳妥)。 - 确保R对该文件夹有读取权限。
内容的提问来源于stack exchange,提问作者Ty Wasserman
相关产品推荐
相关产品推荐

