每次我来源我的R脚本它泄漏数据库连接

时间:2017-09-16 12:35:09

标签: r rmysql r-dbi connection-leaks

我不能在这里粘贴整个脚本,但我正在解释这种情况。如果你有泄漏的数据库连接,那么你就会知道我在说什么。

我有一个R脚本文件,它有许多功能(大约50个)使用DBI& RMySQL R包。我通过4或5个函数整合了所有数据库访问。我在使用on.exit(dbDisconnect(db))的每个函数中使用dbConnect

我发现只使用source("dbscripts.R")加载此脚本会导致一个数据库连接泄漏。我在运行命令时看到了这个

dbListConnections(MySQL())
  

[[1]]   的MySqlConnection:0607>

     

[[2]]   的MySqlConnection:0608>

     

[[3]]   的MySqlConnection:0609>

     

[[4]]   的MySqlConnection:0610>

我每次都会在列表中看到再添加一个数据库连接。这很快达到16,我的脚本停止工作。

问题是,我无法找出导致泄漏的代码行。 我检查了代码中的每个dbConnect行。所有这些都在函数内,主代码外没有dbConnect

那么,为什么会发生连接泄漏?

0 个答案:

没有答案