所以我刚开始连接到我的数据库很好:
con <- dbConnect(
MySQL(),
user = "username", password = "password",
host = "<my amazon web service database server>",
port = 3306
)
所以一切都正常,但是在我闪亮的应用程序上运行了几次/刷新之后,它说我已经打开了16个连接,我不能再打开任何连接。
所以,我试着跑:
dbDisconnect(dbListConnections(MySQL()))
然后我得到了这个
dbListConnections(MySQL())
[[1]]TRUE
然后我得到了一个错误:
Error in .local(dbObj, ...) :
internal error in RS_DBI_getConnection: corrupt connection handle
现在,每当我尝试打开我闪亮的应用程序时,我都会看到datatableoutput上的错误。
(I query the database to generate this output):
internal error in RS_DBI_getConnection: corrupt connection handle
发布于 2017-08-24 12:39:16
我只是遇到了同样的问题。我就是这样解决的:
我创建了一个连接,然后使用这个连接创建了一些函数。问题是,连接在外部范围内:
con <- dbConnect(
MySQL(),
...
)
MyFunction <- function(){
myQuery <- paste("SELECT * FROM ...")
df <- dbGetQuery(con, myQuery)
df
}
对我来说,这也很好,但在"16“连接限制后停止工作,就像在您的情况下一样(相同的损坏连接句柄错误)。
解决方案
在函数内部创建连接,并在函数末尾断开连接:
MyFunction <- function(){
con <- dbConnect(
MySQL(),
...
)
myQuery <- paste("SELECT * FROM ...")
df <- dbGetQuery(con, myQuery)
dbDisconnect(con)
df
}
现在一切似乎都正常了。
https://stackoverflow.com/questions/33885400
复制相似问题