PostgreSQLのSQLでテーブルを作成し、CSVファイルに出力するシステムを作っています。
WEBフォームでパラメータ指定を行い、PHPでPostgresSQLを操作しようとしました。
出力で、バッチ処理でPostgreSQLのテーブルをCopyしようとしたのですが、できませんでした。
バッチファイルとして単独で動かした場合は、正常に実行されました。<exportTable004.bat>
しかし、PHPでexec()関数では実行されません。
どこが悪いのでしょうか。助言をいただければ有難いです。
よろしくお願いします。
---------------バッチファイルとして実行した結果--------------
c:\xampp>c:\xampp\htdocs\test\exportTable004.bat
COPY 9001216
----exportTable004.bat------
@echo off
cd c:\xampp\htdocs\test
set PGHOST=localhost
set PGDATABASE=TrafficStat
set PGUSER=postgres
set PGPASSWORD=**********
set PSQL_COMMAND="C:\Program Files\PostgreSQL\12\bin\psql.exe"
psql -c "COPY (SELECT * FROM date_30min_ave_conlen ) TO 'C:\temp\export003.txt' WITH CSV HEADER ENCODING 'UTF-8';"
-----------PHPファイル-----localhost/test/exportTable004.php---------------
-----Chromeでの localhost/test/exportTable004.php の表示内容--------------
array(0) { } int(1)
C:\temp\export003.txt は作られていませんでした。
あなたの回答
tips
プレビュー