自从升级dbplyr后连接Oracle数据库无法工作

3

我正在尝试使用dplyr和dbplyr后端连接到Oracle数据库。然而,自从dbplyr升级到2.0.0版本后,它不再起作用,出现以下错误。

x <- tbl(con, in_schema("dm", "DM_CLT_POS_OVL_LIAB_HEDGE"))

在执行语句时出现错误,.oci.GetQuery(conn, statement, data = data, prefetch = prefetch)返回以下错误信息: ORA-00942: 表或视图不存在

在之前的dbplyr版本中,我可以使用重定向函数来解决此问题(见下文),但这些函数已经被删除。

#below are required to make the translation done by dbplyr to SQL produce working Oracle 
SQLsql_translate_env.OraConnection <- dbplyr:::sql_translate_env.Oracle
sql_select.OraConnection <- dbplyr:::sql_select.Oracle
sql_subquery.OraConnection <- dbplyr:::sql_subquery.Oracle

非常感谢您的帮助。

1个回答

1

在使用RJDBC包而不是基于ODBC驱动程序的方法时,遇到了同样的问题,并在dbplyr的GitHub页面上找到了解决方法。

我不确定它是否有效,无法自己尝试,但您可以尝试使用这些替换您的分配:

SQLsql_translate_env.OraConnection <- dbplyr:::sql_translation.Oracle
sql_select.OraConnection <- dbplyr:::sql_query_select.Oracle
sql_subquery.OraConnection <- dbplyr:::sql_query_wrap.Oracle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接