根据我今天早些时候的问题,我怀疑我有一个未闭合连接的问题,阻止数据被注入我的MySQL数据库.数据被允许进入当前未使用的表(因此我怀疑许多打开的连接阻止上传到该特定表).
我在Ubuntu服务器上使用RMySQL将数据上传到MySQL数据库.
我正在寻找一种方法来a)确定连接是否打开b)如果它们关闭它们.该命令exec sp_who
和exec sp_who2
来自sql命令行的命令返回sql代码错误.
另一个注意事项:我能够连接,完成上传过程,并成功结束R进程,当我只尝试该表时,服务器上没有数据(通过sql命令行检查).
(顺便说一下:如果所有其他方法都失败了,只需删除该表并创建一个具有相同名称的新表来修复它吗?这会非常痛苦,但可行.)
谢谢你的帮助!
Sta*_*ich 22
一个. dbListConnections( dbDriver( drv = "MySQL"))
湾 dbDisconnect( dbListConnections( dbDriver( drv = "MySQL"))[[index of MySQLConnection you want to close]])
.关闭所有:lapply( dbListConnections( dbDriver( drv = "MySQL")), dbDisconnect)
是的,你可以只重写表格,当然你会丢失所有数据.或者你可以指定dbWriteTable(, ..., overwrite = TRUE
).
我也将与其他选项玩,喜欢row.names
,header
,field.types
,quote
,sep
,eol
.我在RMySQL中也有很多奇怪的行为.我记不清具体细节了,但是当我做错了什么时似乎没有错误消息,比如忘记设置row.names.HTH
Taz*_*Taz 12
关闭所有活动连接:
dbDisconnectAll <- function(){
ile <- length(dbListConnections(MySQL()) )
lapply( dbListConnections(MySQL()), function(x) dbDisconnect(x) )
cat(sprintf("%s connection(s) closed.\n", ile))
}
Run Code Online (Sandbox Code Playgroud)
执行:
dbDisconnectAll()