Восстановление связи с базой данных в R

Jan 15, 2013 16:09

В R по умолчанию можно держать открытыми максимум 16 подключений к базе данных. При этом ответственность за закрытие лишних подключений лежит целиком и полностью на вас и даже если вы уничтожите переменную, которая ссылается на это подключение, вы не сможете закрыть его автоматически.

Долгое время я не обращал на это внимания, однако, со временем, сия проблема начала немного напрягать. Подумав, я пришёл к следующему решению:

library(RMySQL)

my_connect <- function(user, password, dbname, host="localhost") {
if (!exists("con") || !tryCatch(is.null(dbGetQuery(con, "DO 1")), error = function(err) FALSE )) con <<- dbConnect(MySQL(), user=user, password=password, dbname=dbname, host=host); con
}

my_disconnect <- function() {
dbDisconnect(con)
}

Недостаток - приходится использовать глобальную переменную con

r project, пособие по вкручиванию лампочек, сломай себе моск

Previous post Next post
Up