R RJDBC java.lang.OutOfMemoryError

时间:2014-07-11 06:45:43

标签: 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)
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 个答案:

答案 0 :(得分:15)

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

"core":{ 
   "check_callback": function (callback, node, node_parent, node_position, more){
               $('.tree-dynamic-tooltip').remove();
                var span = $('<span>');
                span.addClass('tree-dynamic-tooltip');
                span.html('your dynamic text goes here');
                $('#jstree-dnd').find('i').after(span);
   } 

答案 1 :(得分:2)

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

10.43

答案 2 :(得分:2)

使用时会失败:

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

然而,

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

的工作。

答案 3 :(得分:0)

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