在r中使用sqldf时无法连接数据库 [英] Failed to connect the database when using sqldf in r
问题描述
我向我的R加载了一个csv文件,当我尝试使用sqldf选择一些列时,它总是转到
错误.local(drv,...):
无法连接到数据库:错误:访问被拒绝用户
'用户'@'localhost'(使用密码:NO)
错误in!dbPreExists:无效的参数类型
我不知道如何解决它。 p>
这是我的脚本:
$ b library(sqldf)
acs <-read.csv(getdata_data_ss06pid.csv,head = T)
sqldf(select pwgtp1 from acs where AGEP <50)
似乎不需要加载 $ RM $ c> sqldf
,因为你已经将数据读入内存,这似乎是这里的问题:
库(RMySQL)
库(sqldf)
sqldf(select * from df limit 6)
.local(drv,...)发生错误:
连接到数据库:错误:无法通过套接字连接到本地MySQL服务器'/tmp/mysql.sock'(2)
错误!dbPreExists:无效的参数类型
但是如果 RMySQL
库已分离, sqldf
p>
detach(package:RMySQL,unload = TRUE)
sqldf(select * from df limit 6)
#时间类型
#1 1 type1
#2 2 type1
#3 3 type2
#4 4 type1
#5 5 type2
#6 6 type1
I loaded a csv file to my R, and when I Tried to use sqldf to select some column, it always went to
Error in .local(drv, ...) :
Failed to connect to database: Error: Access denied for user
'User'@'localhost' (using password: NO)
Error in !dbPreExists : invalid argument type
I don't know how to fix it.
Here is my script:
library("RMySQL")
library(sqldf)
acs<-read.csv("getdata_data_ss06pid.csv",head = T)
sqldf("select pwgtp1 from acs where AGEP < 50")
It doesn't seem like you need to load the RMySQL
library when using sqldf
, since you have already read the data into memory, which seems to be the problem here:
library(RMySQL)
library(sqldf)
sqldf("select * from df limit 6")
Error in .local(drv, ...) : Failed to connect to database: Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) Error in !dbPreExists : invalid argument type
However if RMySQL
library is detached, sqldf
works:
detach("package:RMySQL", unload=TRUE)
sqldf("select * from df limit 6")
# time type
# 1 1 type1
# 2 2 type1
# 3 3 type2
# 4 4 type1
# 5 5 type2
# 6 6 type1
这篇关于在r中使用sqldf时无法连接数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!