DBI软件包中的dbWriteTable函数抛出错误

时间:2019-01-07 08:33:06

标签: r rjdbc

我正在尝试使用DBI包中的dbWriteTable函数将数据帧上载到presto服务器。它抛出以下错误:

  

“。verify.JDBC.result(r,“无法检索JDBC表列表”中的错误”):     无法检索JDBC表列表()“

我还尝试了在具有相同连接的dbSendQuery中使用插入,创建,删除命令,并且运行良好。使用dbWriteTable函数时遇到问题。

我也尝试了DBI包的其他功能,例如dbReadTable,dbCreateTable,这些功能对我来说都很完美

代码:

dbWriteTable(conn,DBI::SQL("test.demo"),value =  df)

1 个答案:

答案 0 :(得分:0)

我想问题是dbListTables()。错误可能来自这里:

https://github.com/s-u/RJDBC/blob/1a4fa8558bd20b5a6adbdd6588aa1f61bd51d7d7/R/class.R#L273 https://github.com/s-u/RJDBC/blob/1a4fa8558bd20b5a6adbdd6588aa1f61bd51d7d7/R/class.R#L183

这成功吗?

dbListTables(conn, pattern = DBI::SQL("test.demo"))

如果没有,也许您没有读取元数据的权限,或者JDBC驱动程序有问题。

(我也建议RPresto如果它可以工作。但是,我知道情况并非总是如此...)