Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysqldump renvoie le code 6 lorsqu'il est exécuté à partir de Java, mais la même commande fonctionne correctement à partir de la ligne de commande

Runtime.exec n'est pas une coquille , donc les redirections avec> et > vers mysqldump , qui l'interprète comme le nom de la table que vous souhaitez exporter. (D'où le code de retour 6, "table illégale".)

Il existe deux solutions :

  1. Exécutez un shell. Utilisez cette commande au lieu de celle que vous avez :

    cmd.exe /c "mysqldump --user=root --password= --host=localhost dbname > c:\temp\dumpfile.sql"
    
  2. Écrivez vous-même la sortie de la commande dans un fichier, avec Process.getInputStream() .