【发布时间】:2012-05-01 12:01:24
【问题描述】:
当使用RPostgreSQL 时,我发现我不能以同样的方式使用sqldf。例如,如果我使用以下代码加载库并将数据读入数据框中:
library(RPostgreSQL)
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv, host="localhost", user="postgres", password="xxx", dbname="yyy", port="5436")
rs <- dbSendQuery(con, "select * from table");
df<- fetch(rs, n = -1); dbClearResult(rs)
dbDisconnect(con)
我知道数据框df 中有此表的内容。但是,如果我想使用 sqldf 运行 SQL 命令,我以前会这样做:
sqldf("SELECT * FROM df WHERE X > 10")
当我收到错误消息时,这不再有效:
Error in postgresqlNewConnection(drv, ...) :
RS-DBI driver: (could not connect postgres@localhost on dbname "test"
)
Error in !dbPreExists : invalid argument type
我认为这是我的操作错误,但我不知道如何向sqldf 提供哪些参数,以便它只关注数据框而不尝试连接到其他任何东西。
【问题讨论】:
标签: sql r postgresql sqldf rpostgresql