Ich versuche, den folgenden Befehl auszuführen:Run mysql Befehl java
C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql" -u root -padmin <C:\script.sql> C:\redir.txt
durch diesen Java-Code verwendet:
Runtime.getRuntime().exec(command);
wo Befehl einen String mit mysql-Befehl ist. Wenn ich den Befehl von einem Cmd verwende, funktioniert es perfekt, aber wenn ich die Java-Zeile ausführe, erstellt es nicht die redir.txt mit dem Ergebnis der Abfrage. Ich kann nicht herausfinden, warum es nicht funktioniert (übrigens wirft es keine Ausnahme oder Fehlermeldung jeglicher Art).
exec() hat eine ganze Reihe von Idiosynkrasien, die es nicht einfach machen zu verwenden. Dies ist ein sehr nützlicher Artikel: http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html. Allerdings poste ich auch deinen Code. –
Warum? Es läuft als Service. Es ist so konzipiert, dass es als Dienst ausgeführt werden kann. Was genau ist der Sinn, eine andere Möglichkeit zu schaffen, es zu starten? – EJP