Sto sperimentando con RMySQL e ho accidentalmente creato una connessione senza handle.RMySQL: chiusura di una connessione senza handle
dbConnect(MySQL(), user = "foo", password = "bar")
connLocalDB = dbConnect(MySQL(), user = "foo", password = "bar")
Si noti che il ritorno della prima chiamata non è assegnato a nulla. Ora, quando faccio una dbListConnections(MySQL())
vedo due connessioni:
> dbListConnections(MySQL())
[[1]]
<MySQLConnection:0,0>
[[2]]
<MySQLConnection:0,1>
Allora ho provato questo:
> dbDisconnect(dbListConnections(MySQL())[[1]])
[1] TRUE
ma, poi, ho ottenuto questo:
> dbListConnections(MySQL())
[[1]]
Error in .local(dbObj, ...) :
internal error in RS_DBI_getConnection: corrupt connection handle
come terminare in modo sicuro una connessione a cui non è assegnato un handle?
Non sarà necessario preoccuparsi di questo nella prossima versione (cioè la versione su github) – hadley
@hadley La cosa più strana. Appena aggiornato, e ora mi dà '> dbListConnections (MySQL()) # elenca le connessioni aperte Errore in (funzione (classi, fdef, mtable): impossibile trovare un metodo ereditato per la funzione 'dbListConnections' per firma ' "MySQLDriver" ' – tchakravarty
'hadley Tutti i tipi di altri errori spuntano, incluso l'impossibilità di eseguire il login senza password usando un file di configurazione nella directory home – tchakravarty