sql >> Database >  >> RDS >> Mysql

mysqldump retourneert code 6 wanneer het wordt uitgevoerd vanuit java, maar hetzelfde commando werkt prima vanaf de opdrachtregel

Runtime.exec is geen schelp , dus omleidingen met> en > door naar mysqldump , die het interpreteert als de naam voor de tabel die u wilt exporteren. (Vandaar code 6, "illegale tabel".)

Er zijn twee oplossingen:

  1. Voer een schelp uit. Gebruik deze opdracht in plaats van degene die je hebt:

    cmd.exe /c "mysqldump --user=root --password= --host=localhost dbname > c:\temp\dumpfile.sql"
    
  2. Schrijf de uitvoer van het commando zelf naar een bestand, met Process.getInputStream() .



  1. 2 Functies die de naam van de maand retourneren van een datum in MySQL

  2. MySQL-triggers gebruiken om alle tabelwijzigingen in een secundaire tabel te loggen

  3. Gemiddelde rijlengte hoger dan mogelijk

  4. De naam van de huidige functie binnen de functie krijgen met plpgsql