道歉,如果这已在其他地方得到解答,但我找不到它。使用以下代码,我使用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数据库连接的新手。