Runtime.exec
ist keine Shell
, sodass Umleitungen mit> und mysqldump
, was ihn als Namen für die Tabelle interpretiert, die Sie exportieren möchten. (Daher Rückgabecode 6, "unzulässige Tabelle".)
Es gibt zwei Lösungen:
-
Führen Sie eine Shell aus. Verwenden Sie diesen Befehl anstelle des Befehls, den Sie haben:
cmd.exe /c "mysqldump --user=root --password= --host=localhost dbname > c:\temp\dumpfile.sql"
-
Schreiben Sie die Ausgabe des Befehls mit
Process.getInputStream()
selbst in eine Datei .