Ошибка преобразования типа данных nvarchar в Datetime при вызове процедуры Store в Django

Я пытаюсь передать значение datetime в процедуру store в mssql, но получаю эту ошибку:

django.db.utils.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Error converting data type nvarchar to datetime. (8114) (SQLExecDirectW)')

Вот код:

fromDate = datetime(2022, 1, 1)
toDate = datetime(2022, 12, 31)
dealershipId = request.GET['dealershipId']
cursor = connection.cursor()
cursor.execute(f"EXEC proc_LoadJobCardbyDateRange [@Fromdate={fromDate}, @Todate={toDate}, @DealershipId={dealershipId}]")
result = cursor.fetchall()

Я пытался передать объект datetime для выполнения процедуры store. Я также пытался передать datetime как строку, но та же ошибка сохраняется. Я также пробовал различные форматы, но это не сработало, как указано в некоторых решениях, которые я искал.

Пожалуйста, подскажите мне, почему у меня возникла эта проблема и какое правильное решение может быть?

То, как вы строите свою строку, кажется неправильным, позвольте мне изменить вашу строку на следующую:

cursor.Execute('EXEC LoadJobCardbyDateRange @Fromdate = ?, @Todate=?, @DealershipId=?', fromDate, '2022-12-31', dealershipId)

Смотрите эту ссылку: Django выполнить хранимую процедуру - различные типы данных, несколько параметров и различные столбцы из модели

Вернуться на верх