Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/05/2012, 08:17
RayCast
 
Fecha de Ingreso: febrero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Problemas al ejecutar comando

Hola

Necesito implementar una opción en mi aplicación para realizar una salva de una base de datos de postgresql.

Para esto estoy usando el cliente pg_dump de postgres, pero al ejecutar el comando:

C:\Program Files (x86)\PostgreSQL\9.0\bin\pg_dump -p 5432 -U postgres -Fc foresta >D:\xdfdf.dump

me devuelve el siguiente error en la consola:
pg_dump: demasiados argumentos en la línea de órdenes (el primero es «>D:\xdfdf.dump»)

El comando está bien, ya que al ejecutarlo desde el símbolo del sistema se crea bien el fichero de la salva.

Lo raro es que si he logrado restaurar una base de datos usando el cliente pg_restore de postgres, y el comando se ejecuta perfectamente desde mi programa en Java.

Para ejecutar los comandos estoy usando el siguiente método:

public static int ExecuteProgram(String command) throws IOException, InterruptedException
{
String line;

int _exit_value=1;
try
{
Process proc=Runtime.getRuntime().exec(command);

//Obtener la salida estandar de errores y guardarlos en una lista
InputStream error_stream=proc.getErrorStream();
BufferedReader br = new BufferedReader (new InputStreamReader(error_stream));
saveStringToFile("gvSIG\\extensiones\\org.geocuba. foresta\\data\\command.log", "", false);
while ((line=br.readLine())!=null)
{
System.out.println(line);
saveStringToFile("gvSIG\\extensiones\\org.geocuba. foresta\\data\\command.log", line, true);
//errores.add(line);
}

//Esperar a que termine el proceso
proc.waitFor();

_exit_value=proc.exitValue();
}
catch(IOException e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Error "+e.getMessage());
}

return _exit_value;
}


Gracias de antemano por su tiempo

Saludos, RayCast.