На странице DBI соединение DBI связано с определенной базой данных:
DBIConnection: представляет соединение с конкретной базой данных
Пакет pool
, следовательно, является абстракцией объекта Соединения DBI, который должен быть оптимизирован для таких пакетов, как Shiny или Plumber, где требуется пул Соединений DBI с той же базой данных обслуживать несколько одновременных пользователей.
В результате вы обрабатываете pool
объект как как объект Connection.
Для меня это означает, что то, что вы предлагаете, в настоящее время невозможно и не входит в сферу применения pool
.
Чтобы сделать этот тип вещей менее утомительным, можно было бы создать вспомогательную функцию, которая облегчит установление соединения с базой данных (когда все параметры одинаковы)):
helper <- function(dbname){
pool::dbPool(
drv = RMySQL::MySQL(),
host = myhost,
port = myport,
username = myusername,
password = mypassword,
dbname = dbname)
}
pool1 <- helper(mydbname1);
pool2 <- helper(mydbname2);
Однако мое понимание pool
означает, что 2 разные базы данных означают, что требуется 2 разных соединения или pool
объекты.Сказал иначе: pool
не предназначен для объединения подключений между базами данных.Он предназначен для pool
подключений к одной и той же базе данных (опять же, для поддержки таких приложений, как Shiny-приложения и API-интерфейсы Plumber).Надеюсь, это поможет!