使用RMySQL我想将数据库中的数据加载到R中的数据框中。为此,我使用以下代码:
Rconnectdb:
con <- dbConnect(MySQL(),
user="root", password="password",
dbname="prediction", host="localhost")
主要代码
library(RMySQL)
source("Rconnectdb") #load the database connection
query = "select received,isRefound from message" #specify query
rs=dbGetQuery(con,query) #resultset
dataset <- fetch(rs, n=-1) #fill dataset with all rows of the resultset
dbClearResult(rs) #clear resultset
执行此操作我收到以下错误
函数错误(classes,fdef,mtable):无法找到 对于签名“data.frame”,函数“fetch”的继承方法, “数字”
有什么想法吗?
答案 0 :(得分:5)
您误将dbSendQuery
误认为是dbGetQuery
dbGetQuery
根据文档结合dbSendQuery
,fetch
和dbClearResult
:
函数
dbSendQuery
仅提交并同步执行SQL语句到数据库引擎。它不会提取任何记录 - 因为您需要使用函数fetch
(确保在完成获取所需记录后调用dbClearResult
。函数
dbGetQuery
在一个操作中完成所有这些操作(提交语句,获取所有输出记录,并清除结果集)。
来自?dbGetQuery
包中的DBI
。