我一直在使用R使用dbGetQuery
成功查询运行SQL Server的数据库中的表。我正在尝试查询其他表,但由于错误而无法到达任何地方。我决定尝试并仅使用Dplyr。我已经阅读了多本指南,完全不知所措。
我正试图查询一个小表以作为测试。这是我的代码
con <- dbConnect(odbc::odbc(), Driver = "SQL Server", Server = "server address",
database = "database")
df <- tbl(con, "doctor")
它返回2的列表而不是表。有人可以指出我的方向。我猜想我对R或Sql不太了解。
编辑:以下是有关上述代码输出的一些信息
> class(df)
[1] "tbl_dbi" "tbl_sql" "tbl_lazy" "tbl"
#
添加收集
df <- tbl(con, "doctor") %>%
collect
确实解决了问题。这是使用collect运行后的信息
> class(df)
[1] "tbl_df" "tbl" "data.frame"
在阅读了收集上的小插图后,我了解了在这种情况下的作用。我仍然不明白为什么在指南中他们不需要使用collect。
谢谢!