池:无法打开数据库
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"
我遇到了同样的问题,似乎是 pool
和 dbplyr
版本不兼容。
对于 pool
0.1.5
及更高版本,您需要使用 dbplyr
版本 2.0.0
及更高版本。
如果您使用较低版本的 dbplyr
例如1.4.4
您需要将 pool
降级为例如0.1.4.3
我正在尝试使用 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"
我遇到了同样的问题,似乎是 pool
和 dbplyr
版本不兼容。
对于 pool
0.1.5
及更高版本,您需要使用 dbplyr
版本 2.0.0
及更高版本。
如果您使用较低版本的 dbplyr
例如1.4.4
您需要将 pool
降级为例如0.1.4.3