繁体   English   中英

如何使用 R DBI 创建视图?

[英]How to use R DBI to create a view?

我正在尝试使用 R 的 DBI 库在通过 JDBC 连接的 Athena 数据库上创建视图。 dbSentStatement命令应该提交和执行任意 SQL 而不返回结果,当没有返回结果集时会抛出错误:

DBI::dbSendStatement(athena_con, my_query)
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set",  : 
  Unable to retrieve JDBC result set
  JDBC ERROR: [Simba][JDBC](11300) A ResultSet was expected but not generated from query <query repeated here>

此外,不会创建视图。

我尝试了其他看起来很有希望的 DBI 命令( dbExecutedbGetQuerydbSentQuery ),但它们都抛出了相同的错误。 (实际上,我希望他们都能够 - dbSendStatement是手册中应该起作用的那个。)

还有其他方法可以使用DBIdbplyr等创建视图吗? 还是我做对了,它是RJDBC或驱动程序的限制?

RJDBC 早于更新的 DBI 规范,并使用不同的 function 来访问此功能: RJDBC::dbSendUpdate(con, query)

DBI 的dbSendStatement()在这里还不能工作。 为了获得最佳兼容性,RJDBC 可以实现此方法并将其转发给它的dbSendUpdate()

如果没有提供您查询的更多详细信息,我无法 promise 这有帮助:

但就我而言:

nrow <- dbExecute(con, paste0("CREATE VIEW ExampleView AS",
                              "Random statements"))

将帮助您在后端创建视图。

区别:我使用的是 SQLite。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM