22

运行 RJDBC 0.2-4 的 dbGetQuery 时出现以下错误:

Error in .jcall(rp, "I", "fetch", stride) :    
  java.lang.OutOfMemoryError: Java heap space

以下是我的代码:

Sys.setenv(JAVA_HOME='C:/Program Files (x86)/Java/jdk1.7.0_25')
options(java.parameters='-Xmx1g')
library(rJava)
library(rjson)
library(RJDBC)

# Output Java version
.jinit()
print(.jcall("java/lang/System", "S", "getProperty", "java.version"))

jdbcDriver <<- JDBC(driverClass="oracle.jdbc.OracleDriver", classPath="C:/lib/dashboard_lib/ojdbc6.jar")
jdbcConnection <<- dbConnect(jdbcDriver, "...", "...", "...")
dataset <<- dbGetQuery(jdbcConnection, "select * from OPR_DATA.MV_REG_CTRY_MS_QUARTER_AMT")

谁能帮我解决这个问题,非常感谢

4

4 回答 4

19

只需在加载 RJDBC 包之前将 java.parameters 更改为 8GB:

options(java.parameters = "-Xmx8048m")
library("RJDBC")
于 2016-06-28T12:49:28.110 回答
5

使用它对我来说会失败:

options(java.parameters = "-Xmx8048m")
library("RJDBC")

然而,

options(java.parameters = "-Xmx8g")
library("RJDBC")

工作。

于 2018-03-16T13:03:25.083 回答
4

您可以按如下方式增加内存并重新启动您的 Rstudio,它对我有用。

memory.limit(size=10000000000024)
于 2017-07-12T12:01:49.557 回答
0

评论以防其他人遇到此线程并出现相同的错误。更新 RJDBC (install.packages("RJDBC")) 对我有用。

于 2021-01-27T15:31:02.427 回答