Niente nemmeno così.Originariamente inviato da Andrea1979
Prova con:
codice:ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", "start", "pg_restore", ...
Ho provato però ad aggiungere il parametro -W al mio comando in modo da forzare la richiesta della password.
Il comando in effetti viene avviato ed eseguito ma non produce nessun risultato... molto strano.
Ho anche provato ad eseguire solo:
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", "start");
Questo apre una console, poi ho scritto pg_restore -h ecc ecc e il comando è stato di nuovo eseguito ma senza aver apportato nessuna modifica al DB.
Mi sono per caso perso qualcosa che ha a che fare con i permessi?
PS: ho dimenticato di dirvi che ho già aggiunto la cartella dove risiede pg_restore alla variabile di sistema Path, quindi il problema non può essere che l'eseguibile non viene visto.
EDIT: Non so perchè ma dopo aver di nuovo scritto la variabile di sistema Path tutto funziona...
Se qualcuno è interessato ho utilizzato la mia soluzione e non quella postata da Andrea 1979, anche se a questo punto credo che anche quella funzioni.
Bene!
Grazie per l'aiuto