Hallo,
ich habe ein Programm mit dem ich dateien in ein Postgre DB schreiben möchte!
Das Problem dabei ist, dass ich eine Möglichkeit brauche um die psql.exe von Java aus starten zu können bzw. starten kann ich die exe, aber bei psql wird automatisch das pwd abgefragt und ich bräuchte ne Idee wie ich die Eingabe auf die Konsole schicken kann ohne das ich das pwd auf der Konsole nochmals eingeben muss. Habe auch schon Möglichkeiten über den OutputStream gelesen aber das Problem konnte ich trotzdem nicht lösen!
Außerdem kann ich den Inputstream nicht abfangen den mir das psql schickt mit: "Bitte geben sie das Passwort ein:"
Muss ich die Threads ansteuern oder gibt es direkte Möglichkeiten mein Java Programm mit der Konsole direkt kommunizieren zu lassen?
Hat jmd. einen Vorschlag?
Quelltext:
Process p = Runtime.getRuntime().exec("c:\\programme\\postgresql\\8.1\\bin\\psql.exe -f c:\\test\\sql.txt -d datenbank -h host -p port -U user");
BufferedReader test = new BufferedReader(new InputStreamReader(p.getInputStream()));
// hier bleibt dann das Programm stehen
String a = test.readLine();
System.out.println(a);
ich habe ein Programm mit dem ich dateien in ein Postgre DB schreiben möchte!
Das Problem dabei ist, dass ich eine Möglichkeit brauche um die psql.exe von Java aus starten zu können bzw. starten kann ich die exe, aber bei psql wird automatisch das pwd abgefragt und ich bräuchte ne Idee wie ich die Eingabe auf die Konsole schicken kann ohne das ich das pwd auf der Konsole nochmals eingeben muss. Habe auch schon Möglichkeiten über den OutputStream gelesen aber das Problem konnte ich trotzdem nicht lösen!
Außerdem kann ich den Inputstream nicht abfangen den mir das psql schickt mit: "Bitte geben sie das Passwort ein:"
Muss ich die Threads ansteuern oder gibt es direkte Möglichkeiten mein Java Programm mit der Konsole direkt kommunizieren zu lassen?
Hat jmd. einen Vorschlag?
Quelltext:
Process p = Runtime.getRuntime().exec("c:\\programme\\postgresql\\8.1\\bin\\psql.exe -f c:\\test\\sql.txt -d datenbank -h host -p port -U user");
BufferedReader test = new BufferedReader(new InputStreamReader(p.getInputStream()));
// hier bleibt dann das Programm stehen
String a = test.readLine();
System.out.println(a);