Мы приняли RJDBC из-за его скорости (по сравнению с RODBC), но столкнулись с проблемами, связанными с закрытием всех открытых подключений к базе данных в конце сеанса R. Проблема в том, что после пакетного запуска у нас часто будет более 100 спящих подключений к БД. Наш сервер работает под управлением Microsoft SQL Server 2012.
Строка подключения имеет вид:
drv <<- JDBC("com.microsoft.sqlserver.jdbc.SQLServerDriver", "C:/Program Files/Microsoft JDBC Driver 4.2 for SQL Server/sqljdbc_4.2/enu/sqljdbc42.jar")
dbConnection <<- dbConnect(drv, "jdbc:sqlserver://s26",integratedSecurity=TRUE,databaseName="XXXXXX")
Как мне убедиться, что все активные соединения с БД закрыты? Я нашел функцию, которая, кажется, работала бы, если бы я использовал RMySQL, но я нет. В документации RJDBC также не описывается какой-либо метод вывода соединений, чтобы их можно было закрыть. Кроме того, общая функция DBI dbListConnections() не работает для RJDBC.
Ваша помощь приветствуется!