Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R RJDBC java.lang.OutOfMemoryError_R_Memory_Heap_Rjdbc - Fatal编程技术网

R RJDBC java.lang.OutOfMemoryError

R RJDBC java.lang.OutOfMemoryError,r,memory,heap,rjdbc,R,Memory,Heap,Rjdbc,我在运行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

我在运行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")
Sys.setenv(JAVA_HOME='C:/ProgramFiles(x86)/JAVA/jdk1.7.0_25')
选项(java.parameters='-Xmx1g')
图书馆(rJava)
图书馆(rjson)
图书馆(RJDBC)
#输出Java版本
.jinit()
打印(.jcall(“java/lang/System”、“S”、“getProperty”、“java.version”))

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

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

你可以按如下方式增加内存,重新启动你的Rstudio,它对我有效

memory.limit(size=10000000000024)

如果使用以下方法,则会失败:

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

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

已工作。

如果其他人遇到此线程时出现相同错误,请发表评论。更新RJDBC(install.packages(“RJDBC”))对我来说很有效。

您是否厌倦了将内存增加到4g而不是1g。我的意思是将java参数的选项设置为
-Xmx4g
而不是
-Xmx1g
,这并不能回答这个问题。一旦你有足够的钱,你将能够;相反-
memory.limit(size=10000000000024)