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

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка преобразования типа данных nvarchar в Datetime при вызове хранимой процедуры в Django

Сообщение Anonymous »

Я пытаюсь передать значение даты и времени в хранимую процедуру SQL Server, но получаю следующую ошибку:

django.db.utils.ProgrammingError: ( '42000', '[42000] [Microsoft][Драйвер ODBC 17 для SQL Server][SQL Server]Ошибка преобразования типа данных nvarchar в 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 для выполнения хранимой процедуры. Я также пытался передать дату и время как строку, но та же ошибка сохраняется. Я также пробовал разные форматы, но в некоторых решениях, которые я искал, это не сработало, как указано.
Кроме того,

Код: Выделить всё

cursor.execute("EXEC proc_LoadJobCardbyDateRange @Fromdate="+fromDate+", @Todate='2022-12-31 00:00:00', @DealershipId="+dealershipId)
Если я передаю дату, как показано в @Todate, она работает нормально, но если я передаю ее как переменную, как в случае @Fromdate , выдает ошибку

django.db.utils.ProgrammingError: ('42000', "[42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Неправильный синтаксис рядом с '-' (102) (SQLExecDirectW)")

и если я попытаюсь передать его как дату и время. объекта, то я получил эту ошибку:

TypeError: можно объединить только str (не «datetime.datetime») с str
< /blockquote>
Пожалуйста, объясните мне, почему у меня возникла эта проблема и какое может быть правильное решение?

Подробнее здесь: https://stackoverflow.com/questions/739 ... rocedure-i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»