Я знаю, что могу открыть соединение SQL Server в каждом рабочем, однако он одновременно открывает несколько соединений с сервером. Администраторы базы данных моей работы говорят, что я использую слишком много системных ресурсов, открывая несколько соединений одновременно, и что мне нужно использовать только одно соединение. Можно ли открыть одно соединение и передать его каждому воркеру? Я прочитал ответ о том, почему это нельзя выполнить здесь: RODBC & foreach, но я надеялся может быть новое решение или новые идеи.
library(foreach)
library(doParallel)
cl <- makeCluster(detectCores() - 1)
clusterEvalQ(cl, {
library(RODBC)
Conn <- odbcConnect("SERVER_NAME")
})
foreach(iter=1:10, .noexport="Conn") %dopar% {
# Code block
}
Мне также это нужно, потому что я создаю временную таблицу и мне нужно, чтобы каждый рабочий мог получить доступ к соединению, имеющему временную таблицу. В противном случае каждый воркер открывает новое соединение и не имеет доступа к соединению с временной таблицей. Спасибо!