2013-02-11 1 views
2

저는 Python (2.7)을 처음 사용하고 pyodbc에 많은 도움이되지 않습니다. 다만 SP는 매개 변수가 설정지고 있음에 호출지고 있는지 확인하기 위해, 내가 전달 된 날짜를 반환하는 저장 프로 시저의 끝에서pyodbc와 SQL Server간에 내 저장 프로 시저가 작동하지 않는 이유를 확인하십시오.

sql = "exec gen_all.dbo.rpt_trinity_total '" + startDate + "', '" + endDate + "'" 

print sql 
dbCursor.execute(sql) 
rows = dbCursor.fetchall() 

for row in rows: 
    print row[0], row[1] 

: 내가 저장 프로 시저를 호출하는 스크립트가 있습니다. 모든 것이 작동해야하는 것처럼 보입니다. 그러나 SP에 의해 채워지는 테이블을 볼 때 아무 것도 없습니다. 관리 콘솔에서 SP를 실행하면 정상적으로 작동합니다.

나는 즉 솔루션 here,로 나타났다 것을 시도 :

dbCursor.execute("{call gen_all.dbo.rpt_trinity_total(?,?)}", (startDate),(endDate)) 

하지만, 나에게 아무것도 같은 결과를 제공하지 않습니다. SP 자체는 전달 된 날짜를 기준으로 SELECT를 사용하여 TRUNCATE 및 INSERT라는 매우 간단합니다.

누구든지 이에 대해 통찰력을 줄 수 있는지 궁금합니다. 무리 감사.

+0

삽입물을 제외하고이 SP를 사용해 보았습니다. 선택 항목만으로도 정상적으로 돌아 왔습니다. – spuppett

답변

6

연결에 커밋하지 않은 것으로 의심됩니다. pyodbcdisables auto-commit 기본적으로 Python DB API 사양을 충족합니다. 연결시 conn.autoCommit = True 또는 conn.commit()으로 설정해보십시오.

+1

그게 전부 였어. 많이 고마워! – spuppett