在运行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")
有谁能帮我这个吗,提前谢谢你
只需更改java。参数设置为8GB,然后加载RJDBC包:
options(java.parameters = "-Xmx8048m")
library("RJDBC")
如果我使用
options(java.parameters = "-Xmx8048m")
library("RJDBC")
然而,options(java.parameters = "-Xmx8g")
library("RJDBC")
。
你可以像下面这样增加内存,然后重新启动你的Rstudio,这对我来说很有效。
memory.limit(size=10000000000024)
评论,以防其他人遇到同样的错误。更新RJDBC (install.packages("RJDBC"))对我有效