gpt4 book ai didi

RMySQL:RS_DBI_getConnection 中的内部错误:连接句柄损坏

转载 作者:行者123 更新时间:2023-12-04 10:10:01 25 4
gpt4 key购买 nike

所以我一开始就很好地连接到我的数据库:

con <- dbConnect(
MySQL(),
user = "username", password = "password",
host = "<my amazon web service database server>",
port = 3306
)

所以一切正常,但在我的 Shiny 应用程序上运行/刷新几次后,它说我打开了 16 个连接,我无法再打开任何连接。

所以,我尝试运行:
dbDisconnect(dbListConnections(MySQL()))

然后我得到了这个:
dbListConnections(MySQL())
[[1]]TRUE

然后我得到了这个错误:
Error in .local(dbObj, ...) : 
internal error in RS_DBI_getConnection: corrupt connection handle

现在,每当我尝试打开 Shiny 应用程序时,都会在数据表输出中收到错误消息
(I query the database to generate this output):
internal error in RS_DBI_getConnection: corrupt connection handle

最佳答案

我只是有同样的问题。我是这样解决的:

我正在创建一个连接,然后是使用该连接的一些功能。问题是,连接在外部范围内:

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
}

现在一切似乎都在工作。

关于RMySQL:RS_DBI_getConnection 中的内部错误:连接句柄损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33885400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com