sql >> Databáze >  >> RDS >> Mysql

mysqldump vrátí kód 6 při spuštění z javy, ale stejný příkaz funguje dobře z příkazového řádku

Runtime.exec není skořápka , takže přesměrování pomocí> a > na mysqldump , který jej interpretuje jako název tabulky, kterou chcete exportovat. (Proto návratový kód 6, "nelegální tabulka".)

Existují dvě řešení:

  1. Spusťte shell. Použijte tento příkaz místo toho, který máte:

    cmd.exe /c "mysqldump --user=root --password= --host=localhost dbname > c:\temp\dumpfile.sql"
    
  2. Zapište výstup z příkazu do souboru sami pomocí Process.getInputStream() .



  1. SQL Query pro zřetězení hodnot sloupců z více řádků v Oracle

  2. Pokud existuje aktualizace, vložte ji do jednoho dotazu

  3. PHP bezpečná uživatelská proměnná

  4. mysql_fetch_array() očekává, že parametr 1 bude zdrojem, zadaným řetězcem