R:没有适用于' tbl'使用dplyr和pool进行SQL Server查询时出错

时间:2017-03-31 02:52:06

标签: sql-server r dplyr pool

道歉,如果这已在其他地方得到解答,但我找不到它。使用以下代码,我使用RJDBC机制连接到MS SQL数据库,使用池包中的池:

library(RJDBC)
library(DBI)
library(pool)
library(dplyr)

drv <-
  JDBC(
    "com.microsoft.sqlserver.jdbc.SQLServerDriver",
    "C:/R/RJDBC/Microsoft JDBC Driver 6.0 for SQL Server/sqljdbc_6.0/enu/jre8/sqljdbc42.jar"
  )

pool_instance <- dbPool(
  drv = drv,
  dbname = "dbasename",
  url = "jdbc:sqlserver://sql01",
  user = "user",
  password = "password"
)

mydata <- dbGetQuery(pool_instance, "select * from my.Table")
src_pool(pool_instance) %>% tbl("my.Table") %>% head(5)

当我运行此代码时,我成功连接到我的SQL Server数据库,dbGetQuery函数调用按预期检索数据。

但是,当我调用src_pool函数时,我收到以下错误消息:

  

UseMethod错误(&#34; tbl&#34;):没有适用于&#39; tbl&#39;应用的   一个对象&#34; c(&#39; src _&#39;,&#39; src_sql&#39;,&#39; src&#39;)&#34;

如果我单独调用函数src_pool(pool_instance),而没有管道到tbl函数,则错误消息类似:

  

UseMethod中的错误(&#34; src_desc&#34;):没有适用的方法   &#39; src_desc&#39;应用于课程&#34; c的对象(&#39; src _&#39;,&#39; src_sql&#39;,&#39; src&#39;)&#34;

我预计dplyr或pool会提供这些方法吗?我需要为这些方法编写代码吗?我错过了什么?

请注意,我是SQL Server数据库连接的新手。

0 个答案:

没有答案