0

我正在尝试使用pool连接到我的 DuckDB/SQLite 数据库。

con <- pool::dbPool(
  drv = duckdb::duckdb(),
  dbname = "data",
  host = "FINAL_data.duckdb")

当我然后输入

dplyr::tbl(con,"data") 

我无法打开数据库。

Error in dbplyr::as.sql(from, con) : unused argument (con)

所以我尝试:

dplyr::tbl("data") 

Error in UseMethod("tbl") : 
  no applicable method for 'tbl' applied to an object of class "character"

所以我回到

con <- dbConnect(duckdb::duckdb(), "FINAL_data.duckdb")
bigdf<-tbl(con,"data")

这现在根本不会打开数据库(以前工作得很好)。数据库仍在磁盘上,大小约为 24G。任何关于正在发生的事情的想法都非常感谢!

Error in .local(conn, statement, ...) : 
  duckdb_prepare_R: Failed to prepare query SELECT *
FROM "data" AS "zzz6"
WHERE (0 = 1)
Error: Catalog Error: Table with name data does not exist!
LINE 2: FROM "data" AS "zzz6"
4

1 回答 1

1

我遇到了同样的问题,似乎pooldbplyr版本不兼容。

对于版本pool 0.1.5和更高版本,您需要使用dbplyr版本2.0.0和更高版本。如果您使用较低版本的dbplyreg 1.4.4,您需要将您的降级pool为 eg0.1.4.3

于 2021-05-10T10:47:26.853 回答