如何使用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 命令(dbExecute
、dbGetQuery
、dbSentQuery
),但它们都抛出相同的错误。 (事实上 ,我希望它们都可以 - dbSendStatement
是手册中应该起作用的那个。)
是否有其他方法可以使用 DBI
、dbplyr
等创建视图?还是我这样做是对的,它是 RJDBC
或驱动程序的限制?
RJDBC 早于更新的 DBI 规范并使用不同的函数来访问此功能:RJDBC::dbSendUpdate(con, query)
.
DBI 的 dbSendStatement()
在这里还不能使用。为了获得最佳兼容性,RJDBC 可以实现此方法并将其转发给它的 dbSendUpdate()
.
如果没有提供您查询的更多详细信息,我不能保证这会有所帮助:
但对于我来说:
nrow <- dbExecute(con, paste0("CREATE VIEW ExampleView AS",
"Random statements"))
将帮助您在后端创建视图。
区别:我使用的是 SQLite。
我正在尝试使用 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 规范并使用不同的函数来访问此功能:RJDBC::dbSendUpdate(con, query)
.
DBI 的 dbSendStatement()
在这里还不能使用。为了获得最佳兼容性,RJDBC 可以实现此方法并将其转发给它的 dbSendUpdate()
.
如果没有提供您查询的更多详细信息,我不能保证这会有所帮助:
但对于我来说:
nrow <- dbExecute(con, paste0("CREATE VIEW ExampleView AS",
"Random statements"))
将帮助您在后端创建视图。
区别:我使用的是 SQLite。