mysql - RMySQL:关闭没有句柄的连接

标签 mysql r rmysql

我正在试验 RMySQL ,并且不小心创建了一个没有句柄的连接。

dbConnect(MySQL(), user = "foo", password = "bar")
connLocalDB = dbConnect(MySQL(), user = "foo", password = "bar")

请注意,第一次调用的返回未分配给任何内容。现在,当我执行 dbListConnections(MySQL()) 时,我看到两个连接:

> dbListConnections(MySQL())
[[1]]
<MySQLConnection:0,0>

[[2]]
<MySQLConnection:0,1>

然后我尝试了这个:

> dbDisconnect(dbListConnections(MySQL())[[1]])
[1] TRUE

但是,然后,我得到了这个:

> dbListConnections(MySQL())
[[1]]
Error in .local(dbObj, ...) : 
  internal error in RS_DBI_getConnection: corrupt connection handle

如何安全终止未分配句柄的连接?

最佳答案

通常用于创建连接、获取查询数据然后关闭连接我使用以下函数:

getDataSql <- function( query ) {
  con = dbConnect(RMySQL::MySQL(), dbname  =  "dbname", host = "host", user = "username", password = "pasword", port = "port")
  result <- dbGetQuery(con, query)
  dbDisconnect(con)
  result
}

关于mysql - RMySQL:关闭没有句柄的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29466386/

相关文章:

mysql - RethinkDb 查询两个日期列之间的当前日期时间

mysql - 使用 phpMyAdmin 为所有表重命名并添加前缀

mysql - RMySQL dbWriteTable 与 field.types

c# - 使用并行复制表会导致 MySQL 死锁

MySQL 选择所有项目不为空

r - 将 ggplot 保存在列表中给出了相同的图表

r - Stargazer 和 gam - 如何包含整个摘要输出?

python - 在 Python 中使用逻辑运算符获取可被给定除数整除的数字

mysql - 将 RMySQL 包添加到 R 失败(在 Windows 上)?

python - 将 MySQL 查询结果添加到 R 数据框