2012-05-22 24 views
8

アプリケーションからpsql.exeを起動します。ユーザはスクリプトを見つけてディスク上のどこにでも置くことができ、アプリケーションはpsqlにそのスクリプトを送ります。それはそれです。psql.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: 

はい、私は何も働いていない、それだけで(cmd.exeの上でこれを試してみました)引数を無視しています、引用符、引用符で試してみましたがない成功

"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.exeと同じディレクトリにあり、psql.exeがインストールされている場所にCDが入っていれば、引用符は絶対パスではなく、うまく動作することを意味します。しかし、私の場合は、アプリケーションを任意のWindowsインストールで動作させたい、つまりpsql.exeはどこにでもあり、SQLスクリプトもどこにでも置くことができるということです。私はまだスクリプトがpsql.exeに送られるようにしたい。

+4

'psql --help'の出力を注意深く見ると、すべての" switch "パラメータがデータベースとユーザ名の前に来る必要がある –

答えて

6

これを試してみてください:

"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

保存コマンド以下のバッチファイル(install.batを、など)など。

「defaultValueHere」に注意してください。ユーザーがエントリをスキップする場合のデフォルト値を設定できます。

SET installScript=defaultValueHere 
SET /P server="Enter the install script location [%installScript%]: " 
ECHO you typed %installScript% 
PAUSE 
"C:\Program Files\PostgreSQL\9.1\bin\psql.exe" TEST SYSADM -f %installScript% 

install.batファイルからインストールを開始するようにユーザーに指示します。パラメータをSQLスクリプトに渡す場合はmy answerも参照してください。

関連する問題