[英]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 命令( dbExecute
、 dbGetQuery
、 dbSentQuery
),但它们都抛出了相同的错误。 (实际上,我希望他们都能够 - dbSendStatement
是手册中应该起作用的那个。)
还有其他方法可以使用DBI
、 dbplyr
等创建视图吗? 还是我做对了,它是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.