首页 > 解决方案 > 使用 RJDBC 访问 H2 数据库表

问题描述

我正在尝试使用RJDBCpackage in访问 h2 数据库R

我能够创建连接,但无法提取或查询表。

drv <- JDBC("org.h2.Driver",
            "<path to driver>/jdbc/h2/h2.jar")

conn <- dbConnect(drv = drv ,
                  # url = "jdbc:h2:/<path to database>/testdb.mv.db",
                  # url = "jdbc:h2:/<path to database>/testdb.mv.db;DB_CLOSE_DELAY=-1",
                  # url = "jdbc:h2:/<path to database>/testdb.mv.db;DB_CLOSE_ON_EXIT=FALSE",
                  url = "jdbc:h2:/<path to database>/testdb.mv.db;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;DATABASE_TO_UPPER=false",
                  user = "",
                  password =  "")

表格列表与其列或字段一起显示,但我无法将任何表格提取为data.frame.

# The following work
dbListTables(conn)
dbListObjects(conn)
dbIsReadOnly(conn)
dbGetTables(conn)

dbDataType(conn, "TABLE1")
dbExistsTable(conn, "TABLE1")
dbGetFields(conn, "TABLE1")
dbGetInfo(conn, "TABLE1")

# The following don't work
data <- dbGetQuery(conn, "SELECT * FROM TABLE1")

dbListFields(conn, "TABLE1")

dbReadTable(conn, "TABLE1")

我收到错误

Unable to retrieve JDBC result set
JDBC ERROR: Table "TABLE1" not found

我已经尝试了h2-in-memory-database-table-not-found 中的解决方案,但没有任何成功。

标签: rjdbch2rodbcrjdbc

解决方案


推荐阅读