我正在尝试使用 DBI 包中的 dbWriteTable 函数将数据帧上传到 presto 服务器。它抛出以下错误:
"验证中的错误。JDBC.result(r, "无法检索 JDBC 表列表") : 无法检索 JDBC 表列表 ()"
我还尝试在具有相同连接的 dbSendQuery 中使用插入、创建、删除命令,并且它运行良好。我在使用 dbWriteTable 函数时遇到问题。
我已经尝试了DBI包的其他功能,例如dbReadTable,dbCreateTable,它们非常适合我
法典:
dbWriteTable(conn,DBI::SQL("test.demo"),value = df)
我想问题dbListTables()
.错误可能来自这里:
https://github.com/s-u/RJDBC/blob/1a4fa8558bd20b5a6adbdd6588aa1f61bd51d7d7/R/class.R#L273https://github.com/s-u/RJDBC/blob/1a4fa8558bd20b5a6adbdd6588aa1f61bd51d7d7/R/class.R#L183
这成功了吗?
dbListTables(conn, pattern = DBI::SQL("test.demo"))
如果没有,则可能是您没有读取元数据的权限,或者您的 JDBC 驱动程序有问题。
(如果它有效,我也推荐RPresto。但是,我知道情况并非总是如此...