2012-05-22 19 views
8

Ich möchte psql.exe aus einer Anwendung starten. Der Benutzer findet das Skript, so dass es irgendwo auf seiner Festplatte sein kann, und die Anwendung füttert dieses Skript nur in psql. Das ist alles.Übergeben von Parametern an psql.exe

Was ist die richtige Befehlszeile dafür?

Ich habe versucht, dies ohne Erfolg

"C:\Program Files\PostgreSQL\9.1\bin\psql.exe" TEST SYSADM -f "C:\Documents and Settings\Administrateur\Mes documents\TD6.0\FETCHING\install.sql" 

ich mit Zitaten versucht, ohne die Anführungszeichen, keine gearbeitet, es die Argumente nur ist zu ignorieren (versucht, dies auf 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: 

Ja Wenn sich das Skript im selben Verzeichnis wie psql.exe befindet und wenn ich zuerst auf CD installiere, wo psql.exe installiert ist, bedeutet das keine Anführungszeichen, keine absoluten Pfade und es funktioniert gut. In meinem Fall möchte ich jedoch, dass die Anwendung bei jeder Windows-Installation funktioniert. Das bedeutet, dass psql.exe überall sein kann und das SQL-Skript auch irgendwo sein kann. Ich möchte immer noch, dass das Skript in psql.exe eingespeist wird.

+4

Wenn Sie sich die Ausgabe von 'psql --help 'genau anschauen, werden Sie feststellen, dass alle" switch "Parameter * vor * der Datenbank und dem Benutzernamen stehen müssen –

Antwort

6

Try this:

"C:\Program Files\PostgreSQL\9.1\bin\psql.exe" -f "C:\Documents and Settings\Administrateur\Mes documents\TD6.0\FETCHING\install.sql" TEST SYSADM 
0

Speichern Sie die folgenden Befehle als Batch-Datei (install.bat, etc).

Beachten Sie die 'defaultValueHere'. Sie können den Standardwert festlegen, falls Ihr Benutzer den Eintrag überspringt.

Weisen Sie den Benutzer an, die Installation von der Datei install.bat aus zu starten. Siehe auch my answer zum Übergeben von Parametern an das SQL-Skript.

Verwandte Themen