池:无法打开数据库

Pool: Can't open database

我正在尝试使用 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"

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

对于 pool 0.1.5 及更高版本,您需要使用 dbplyr 版本 2.0.0 及更高版本。 如果您使用较低版本的 dbplyr 例如1.4.4 您需要将 pool 降级为例如0.1.4.3