【发布时间】:2019-01-07 08:33:06
【问题描述】:
我正在尝试使用 DBI 包中的 dbWriteTable 函数将数据帧上传到 presto 服务器。它抛出以下错误:
“.verify.JDBC.result 中的错误(r,“无法检索 JDBC 表列表”): 无法检索 JDBC 表列表 ()"
我也尝试过在 dbSendQuery 中使用插入、创建、删除命令和相同的连接,它运行良好。我在使用 dbWriteTable 函数时遇到问题。
我已经尝试过 DBI 包的其他功能,例如 dbReadTable、dbCreateTable,这对我来说非常有效
代码:
dbWriteTable(conn,DBI::SQL("test.demo"),value = df)
【问题讨论】:
-
检查已连接用户的权限。
dbWriteTable执行DROP和CREATE命令。您是否允许在该架构上执行这两个操作? -
我对此模式具有读写权限。我尝试在 dbSendQuery 中使用 insert into、create、drop 命令,它运行良好。问题在于 dbWriteTable 函数。我已经尝试过 DBI 包的其他功能,如 dbReadTable、dbCreateTable 也可以正常工作。
-
Hadley Wickham 推荐 RPresto package: twitter.com/hadleywickham/status/1082422935154028544