postgres(9.2)からのトリガーとしてPythonプログラム(実際にはplpython3u)を実行する際に問題が発生します。トリガーは、次のステートメントを使用してPythonプログラムを呼び出します。performscalesmyone(new.id);
Pythonプログラムは、ファイルに何かを正常に書き込み(トリガーが機能していることを示します)、Windows 7マシンのC:ドライブでプログラムを実行しようとします。エラー:WindowsError:[エラー5]アクセスが拒否されました。現在サブプロセス呼び出しを使用していますが、以前はサブプロセス呼び出しを試しましたが、機能しませんでした。あなたはここでそれを見ることができ ます
コードは次のとおりです。
CREATE or replace FUNCTION scalesmyone (thename text)
RETURNS int
AS $$
a=5
f = open('C:\\JUNK\\frompython.txt','w')
f.write(thename)
f.close()
import subprocess
return_code = subprocess.call(["C:\\Users\\Jim\\Desktop\\BATfiles\\run_addcust.bat", '"hello"'])
$$ LANGUAGE plpython3u;
ファイルはそこにあります。
ジム