Deseo iniciar psql.exe desde una aplicación. El usuario localiza la secuencia de comandos, por lo que podría estar en cualquier lugar de su disco, y la aplicación solo la envía a psql. Eso es todo.Pasar los parámetros a psql.exe
¿Cuál es la línea de comando correcta para eso?
yo probamos este sin éxito
"C:\Program Files\PostgreSQL\9.1\bin\psql.exe" TEST SYSADM -f "C:\Documents and Settings\Administrateur\Mes documents\TD6.0\FETCHING\install.sql"
Probé con citas, sin las comillas, ninguno funcionó, es simplemente haciendo caso omiso de los argumentos (intentado esto en cmd.exe)
C:\Documents and Settings\Administrateur>"C:\Program Files\PostgreSQL\9.1\bin\psql.exe" TEST SYSADM -f "C:\Documents and Settings\Administrateur\Mes documents\TD6.0\FETCHING\install.
sql"
psql: warning: extra command-line argument "-f" ignored
psql: warning: extra command-line argument "C:\Documents and Settings\Administrateur\Mes documents\TD6.0\FETCHING\install.sql" ignored
Password for user SYSADM:
Sí , si el script está en el mismo directorio que psql.exe, y si el CD primero está donde psql.exe está instalado, eso significa que no hay comillas, no hay rutas absolutas y funciona bien. Sin embargo, en mi caso, quiero que la aplicación funcione en cualquier instalación de Windows, eso significa que psql.exe podría estar en cualquier parte y que la secuencia de comandos sql también podría estar en cualquier lugar. Todavía quiero que la secuencia de comandos se alimente a psql.exe.
Si observa detenidamente la salida de 'psql --help' notará que todos los parámetros de" cambio "deben venir * antes de * la base de datos y el nombre de usuario –