Mysql
 sql >> Database >  >> RDS >> Mysql

mysqldump restituisce il codice 6 quando viene eseguito da java, ma lo stesso comando funziona correttamente dalla riga di comando

Runtime.exec non è una shell , quindi i reindirizzamenti con> e > a mysqldump , che lo interpreta come il nome della tabella che desideri esportare. (Da qui il codice di ritorno 6, "tabella illegale".)

Ci sono due soluzioni:

  1. Esegui una shell. Usa questo comando al posto di quello che hai:

    cmd.exe /c "mysqldump --user=root --password= --host=localhost dbname > c:\temp\dumpfile.sql"
    
  2. Scrivi tu stesso l'output del comando in un file, con Process.getInputStream() .