首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示和关闭所有活动的RJDBC连接

如何显示和关闭所有活动的RJDBC连接
EN

Stack Overflow用户
提问于 2015-11-02 23:07:17
回答 1查看 2.3K关注 0票数 3

我们采用了RJDBC的速度(超过RODBC),但在确保所有开放的数据库连接在R会话结束时关闭方面遇到了问题。问题是,在批处理运行之后,我们通常会有100+休眠的DB连接。我们的服务器正在运行2012。

连接字符串的形式如下:

代码语言:javascript
复制
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")

如何确保关闭所有活动DB连接?我找到了一个函数,如果我使用RMySQL,它似乎会工作,但我没有。RJDBC文档也没有描述任何列出连接的方法,这样它们就可以关闭。而且,普通的DBI函数dbListConnections()似乎不适用于RJDBC。

你的帮助是值得赞赏的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-04 18:50:47

我知道这个问题是在一段时间前提出的,但我正在回答,以防其他人正在寻找解决办法。

您可以检查全局变量是否是JDBC连接并关闭它。

下面是我所做工作的示例代码:

代码语言:javascript
复制
    var <- as.list(.GlobalEnv)
    var_names <- names(var)

    for (i in seq_along(var_names)){
        if (class(var[[var_names[i]]]) == "JDBCConnection"){
            dbDisconnect(var[[var_names[i]]])
        }
    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33488661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档