2

我正在编写一个在单个 JVM 中生成多个 R 会话的程序。我需要在这些会话之间共享数据,并且我现在正在将文件 (RData/txt) 写入磁盘。我做了一些阅读,发现内存数据库是正确的方法,并且将注意力集中在 H2 上。我下载并安装了 RH2 包,文档说它包含一个 H2 实例——我不需要单独安装一个。

所以我继续尝试创建我的数据库:

con <- dbConnect(H2(), "jdbc:h2:mem:test", "sa", " ")

并得到一个错误:

Error in .local(drv, ...) : could not find function ".verify.JDBC.result"

我阅读了这个StackOverflow 问题,并尝试了:

> con <- dbConnect(H2(), "jdbc:h2:mem:test")
Error in .local(drv, ...) : could not find function ".verify.JDBC.result"
> con <- dbConnect(H2(), "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1")
Error in .local(drv, ...) : could not find function ".verify.JDBC.result"
> con <- dbConnect(H2(), "jdbc:h2:~/test", "sa", "")
Error in .local(drv, ...) : could not find function ".verify.JDBC.result"

我浏览了文档,但没有太大帮助。我检查了我的驱动程序,它给出了:

> H2()
An object of class "H2Driver"
Slot "identifier.quote":
[1] "\""

Slot "jdrv":
[1] "Java-Object{org.h2.Driver@25e01f19}"

如何继续从 R 中创建数据库?另外,是否可以在不同的会话之间共享这个数据库?

更新:我切换到 RJDBC 和 RH2 的旧实例,但结果相同。

4

0 回答 0