pyODBC를 사용하여 SQL Server 2005 Express 데이터베이스에 연결하고 있습니다. SQLServer Express에서 2 개의 문자열 매개 변수 (예 : stored_proc (inpu1, input2))를 사용하는 저장 프로 시저를 만들었습니다. 이러한 매개 변수는 datetime 유형입니다. 나는 관리 스튜디오를 사용하여 저장된 proc을 테스트했으며 적절한 결과를 반환합니다. 그러나 파이썬 (나는 Eclipse를 사용하여)에서 저장 프로 시저를 호출하려고하면 오류가 발생합니다.PyODBC를 사용하여 저장 프로 시저에 매개 변수 전달
pyodbc.DataError: ('22018', '[22018] [Microsoft][SQL Native Client]Invalid character value for cast specification (0) (SQLExecDirectW)')2/9/2011 12:00:03 2/9/2011 12:20:03
는 다음과 내가 전화 했어 기능입니다 같이
이def GetAlarmFrequencyTime(tstart,tend):
print tstart, tend
arguments=(tstart,tend)
local_cursor=conn.cursor()
local_cursor.execute("{call dbo.GetAlarmEventHistoryFrequency_TimeRange(tstart,tend)}")
resultset_rows=local_cursor.fetchall()
print "There are" , len(resultset_rows), "records"
for single_row in resultset_rows:
print "|" ,single_row[0], "|" ,single_row[1],"|"
local_cursor.close()
문제를 일으키는 라인은
local_cursor.execute("{call dbo.GetAlarmEventHistoryFrequency_TimeRange(tstart,tend)}")
사람이 제가 여러 매개 변수를 전달하는 방법을 이해하는 데 도움이 pyODBC를 사용하여 호출 된 저장 프로 시저. tstart를 변환해야하며, 그렇다면 어떻게 datetime 형식으로 변환해야합니까? 나는 strptime을 trued,하지만 난
local_cursor.execute("{call dbo.GetAlarmEventHistoryFrequency_TimeRange(tstart,tend)}")
충돌없이 작동하는 잘못된 구문이
나는 조금 놀았 던과 local_cursor.execute 발견" } ", [dt_start], [dt_end]) 기본적으로 구문은"stored_proc (?), call [ params]. 이제는 생각 합니다만, Python.exe에서 처리되지 않은 Win32 예외가 발생합니다. 누구든지 파이썬 2.7을 사용하여 창에서 pyODBC와 함께 experirence를 얻었습니까? – user595985