我正在试验 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/