我正在尝试使用DBI包中的dbWriteTable函数将数据帧上载到presto服务器。它抛出以下错误:
“。verify.JDBC.result(r,“无法检索JDBC表列表”中的错误”): 无法检索JDBC表列表()“
我还尝试了在具有相同连接的dbSendQuery中使用插入,创建,删除命令,并且运行良好。使用dbWriteTable函数时遇到问题。
我也尝试了DBI包的其他功能,例如dbReadTable,dbCreateTable,这些功能对我来说都很完美
代码:
dbWriteTable(conn,DBI::SQL("test.demo"),value = df)
答案 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如果它可以工作。但是,我知道情况并非总是如此...)