Я использую pyODBC для подключения к экспресс-базе данных SQL Server 2005. Я создал хранимую процедуру в SQLServer Express, которая принимает 2 строковых параметра, например сохраненный_процесс (inpu1, input2), эти параметры имеют тип datetime. Я проверил сохраненный процесс с помощью Management Studio, и он возвращает соответствующий результат. Однако, когда я пытаюсь вызвать хранимую процедуру из Python (я использую Eclipse), я получаю ошибку.
pyodbc.DataError: ('22018', '[22018] [Microsoft] [собственный клиент SQL] Недопустимое значение символа для спецификации приведения (0) (SQLExecDirectW)') 09.02.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, и в первую очередь стремиться к формату даты и времени, если да, то как? Я истолковал strptime, но даже это не удалось, хотя я могу использовать его неправильно