我有一个简单的函数,它应该使用DBI::dbConnect()连接来获取一个表。对tbl()的调用在交互会话中运行良好,我遇到了问题。
我的职能:
a2_db_read <- function(con, tbl_name, schema = "dbo"){
if(schema == "dbo"){
dplyr::tbl(con, tbl_name)
}
else{
dplyr::tbl(con, dbplyr::in_schema(schema, tbl_name))
}
}如果我打电话给dplyr::tbl(),我会得到:
Error in UseMethod("tbl") :
no applicable method for 'tbl' applied to an object of class "Microsoft SQL Server"如果我打电话给dbplyr::tbl(),我会得到:
a2_db_read(a2_con_uat, "AVL Data")
Error: 'tbl' is not an exported object from 'namespace:dbplyr'我怎样才能让这个电话在一个函数中成功?我的套餐进口是:
Imports:
DBI,
dbplyr,
dplyr,
ggplot2,
odbc发布于 2022-03-01 18:05:27
我让它与dplyr::tbl()一起工作,正确的用法。
问题是,我的连接是作为一个对象存储在一个包中,而实际上,每次我重新启动R时都需要建立连接。
在新的R环境中,存储的陈旧连接导致错误:
UseMethod错误(“tbl”):不适用于"Microsoft“类对象的”tbl“方法
当我恢复连接的时候,它就起作用了。
https://stackoverflow.com/questions/71312119
复制相似问题