2013-01-11 4 views
-2

제가 작성한 파이썬 프로그램에 문제가 있습니다. 사실 plpython3u입니다. postgres에서 트리거로 프로그램을 실행하고 있습니다. 나는 방아쇠 부분이 작동한다는 것을 확신합니다. 내 테스트 파이썬 프로그램은 현재 2 가지만 수행합니다. 그것은 파일에 약간의 쓰레기를 쓴 다음 내 C : 드라이브에있는 프로그램을 실행하려고 시도합니다 (이것은 Windows 시스템, BTW 임). 파이썬 프로그램이 올바르게 호출되도록 파일에 쓸 수 있습니다. 테스트하려는 프로그램은 COPY를 수행하는 BAT 파일입니다. 외부 프로그램을 호출하는 코드가 작동하지 않도록 복사본이 절대 작성되지 않습니다. 궁극적으로 나는 진정한 Windows 응용 프로그램을 호출 할 수있는 창을 가지고 싶습니다.이 작업을 수행하는 가장 좋은 방법입니까? 또한 질문을 통해 모든 파이썬 항목을 설정했습니다. here파이썬이 외부 프로그램을 호출하지 않습니다.

Winows .

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 os 
os.system('"C:\\Users\\Jim\\Desktop\\BATfiles\\run_addcust.bat"') 
$$ LANGUAGE plpython3u; 
: python32 7 기계는 아마, 내가 포스트 그레스 9.2을 사용하고 내가 여기

pgAdmin 1.16에서 SQL 창을 통해이 모든 것을 다 실행하고 문제가되지 않지만 문제와 코드

감사합니다. 짐

+0

하위 프로세스를 사용하지 않는 이유는 무엇입니까? –

+0

@Jun, 지연에 대해 유감 : 이전에 시스템을 설정할 때 오류가 발생했습니다. 그 부분은 여기에 있고 나머지는 다른 주석과 코드에도 게시 할 것입니다 : ERROR : WindowsError : [오류 2] 지정한 파일을 찾을 수 없습니다. 문맥 : 트레이스 백 (최근 호출 마지막) : PL/Python 함수 "scalesmyone", 줄 7, return_code = subprocess.call ([ 'C : \\ 사용자 \\ Jim \\ 바탕 화면 \\ BAT 파일 \\ run_addcust.bat' ', "hello"]) PL/Python 함수 "scalesmyone", 줄 470에서 호출 PL/Python 함수 "scalesmyone", 줄 744, __init__에서 – Jim

+0

@jun 오류 2 부 : PL/Python 함수 "scalesmyone", 줄 963, _execute_child에서 PL/Python 함수 "scalesmyone" SQL 문 "SELECT scalesmyone (new.id)" PL/pgSQL 함수 scalesins_function() 행의 PERFORM ******************** 오류 : WindowsError : [오류 2] 시스템에서 지정된 파일을 찾을 수 없습니다. SQL 상태 : XX000 컨텍스트 : Traceback (대부분 최근 호출 마지막) : return_code = subprocess.call ([ '' "C : \\ Users \\ Jim \\ Desktop \\ , "hello"]) – Jim

답변

0

하위 프로세스로 변경되었지만 읽기 전용 권한을 가진 Windows 7 폴더에 여전히 문제가 있습니다. 나는 질문을했다 here

관련 문제