gpt4 book ai didi

RMySQL dbGetQuery() 内部函数留下未决结果

转载 作者:行者123 更新时间:2023-12-01 03:51:00 24 4
gpt4 key购买 nike

我的函数包含在一个更大的函数中,使用 dbConnect() , dbGetQuery() , 和 dbDisconnect() .

当函数出错时,我修复它并尝试重新运行它。但我无法重新运行它,因为我得到:
Error in mysqlCloseConnection(conn, ...) :
connection has pending rows (close open results set first)

(注 1:我没有使用 dbSendQuery() + fetch() ,只是 dbGetQuery() ,所以这本身就是一个奇怪的错误。)
(注 2:错误不会出现在 RMySQL 代码中;它们出现在 R 代码的其他部分。)

失败的解决方案 1:dbClearResult(dbListResults(myconnection)[[1]])不起作用,因为 myconnection是在函数环境中创建的。

失败的解决方案 2:lapply( dbListConnections( dbDriver( drv = "MySQL")), dbDisconnect)错误与上面相同的“待处理行”错误消息。

我现在唯一的解决方案是杀死 R 并重新开始。但是,我知道该连接仍然存在于 SQL 数据库中(因为我的老板告诉我这样),所以我正在寻找合适的解决方案来关闭结果/连接。

谢谢你的帮助。

最佳答案

我有一个类似的问题,所以它可能会在 future 帮助其他人......

pull<- dbSendQuery(con, statement...)
df2 <- fetch(pull, n = -1)
> dbHasCompleted(pull)
[1] TRUE
> dbDisconnect(con)
[1] TRUE

关于RMySQL dbGetQuery() 内部函数留下未决结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22799348/

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