1
快速问题:我正在使用RODBC连接以批处理模式并行运行多个R实例,并且随机出现一个(或多个)实例失败。如果我回去逐个运行实例,它们都是成功的。日志中没有错误,我只是试图推断问题来自哪里。我的主要假设是,我打到内存堆顶部,实例失败,或者(更可能)RODCB连接出现某种时间。有什么建议么?R实例失败+ RODBC
感谢,
吉姆
快速问题:我正在使用RODBC连接以批处理模式并行运行多个R实例,并且随机出现一个(或多个)实例失败。如果我回去逐个运行实例,它们都是成功的。日志中没有错误,我只是试图推断问题来自哪里。我的主要假设是,我打到内存堆顶部,实例失败,或者(更可能)RODCB连接出现某种时间。有什么建议么?R实例失败+ RODBC
感谢,
吉姆
目前尚不清楚为什么没有错误显示,或许你可以尝试options(error = recover)
经常拿下面的错误使用多个数据库连接时:
Error in mysqlExecStatement(conn, statement, ...) :
RS-DBI driver: (connection with pending rows, close resultSet before continuing)
我通过发出以下行来关闭所有打开的连接,然后发出新的查询来避免此错误:
lapply(dbListConnections(MySQL()), dbDisconnect)
我把这段代码从R help list。
更新:我的合作者之一创建了一个suite of functions便于数据库的交互,包括db.con
,db.open
,db.close
和db.query
,可以像使用:
## load functions
source("https://raw.github.com/PecanProject/pecan/master/db/R/utils.R")
## example
params <- list(dbname = "mydb", username = "myname", password = "!#@?$")
con <- db.open(params)
mydata <- db.query("select * from mytable;")
db.close(con)
有什么错误讯息?你连接的是什么类型的RDBMS? – NPE
您需要在跌倒之前运行多少个实例? 2? 1000?你能否添加一些额外的日志记录来查看它究竟何时崩溃? –
开放连接也有限制,无论是在操作系统级别还是在R级别。你能打这些吗? –