我们采用 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。
感谢您的帮助!