DBI包中的dbWriteTable函数引发错误
我正在尝试使用DBI包中的dbWriteTable函数将数据帧上载到presto服务器。它将抛出以下错误: .verify.JDBC.result(r,“无法检索JDBC表列表”)中出错: 无法检索JDBC表列表()“ 我还尝试在dbSendQuery中使用insert-into、create和drop命令,使用相同的连接,效果非常好。当我使用dbWriteTable函数时,我面临一个问题 我也尝试过DBI包的其他功能,比如dbReadTable、dbCreateTable,它们对我来说非常适合 代码:DBI包中的dbWriteTable函数引发错误,r,rjdbc,R,Rjdbc,我正在尝试使用DBI包中的dbWriteTable函数将数据帧上载到presto服务器。它将抛出以下错误: .verify.JDBC.result(r,“无法检索JDBC表列表”)中出错: 无法检索JDBC表列表()“ 我还尝试在dbSendQuery中使用insert-into、create和drop命令,使用相同的连接,效果非常好。当我使用dbWriteTable函数时,我面临一个问题 我也尝试过DBI包的其他功能,比如dbReadTable、dbCreateTable,它们对我来说非常适合
我想问题是
dbListTables()
。错误可能来自这里:
这成功了吗
dbListTables(conn,pattern=DBI::SQL(“test.demo”))
如果没有,可能您没有读取元数据的权限,或者您的JDBC驱动程序有问题
(如果可以的话,我也建议使用RPresto。但是,我知道情况并非总是如此……检查连接用户的权限
dbWriteTable
执行DROP
和CREATE
命令。是否允许对该架构执行这两个操作?我对该架构具有读写访问权限。我曾尝试在dbSendQuery中使用insert into、create和drop命令,效果非常好。问题在于dbWriteTable函数。我也尝试过DBI包的其他功能,如dbReadTable和dbCreateTable,它们工作得非常好。Hadley Wickham建议:
dbWriteTable(conn,DBI::SQL("test.demo"),value = df)