Хранимая процедура в PyODBC пишет: не все аргументы преобразуются при форматировании строки
У меня такой код:
with connections["mssql_database"].cursor() as cursor:
sql = "EXEC SaveActivity @id_workplace=?, @personal_number=?, @id_activity=?"
params = (id_workplace, personal_number, id_activity)
cursor.execute(sql, params)
TypeError: not all arguments converted during string formatting
Эта ошибка возникает из-за того, что передаваемые вами параметры не соответствуют определенным типам на стороне базы данных в SQL Server.
Являются ли @id_workplace
, @personal_number
и @id_activity
целыми числами? Если да, то являются ли переменные Python id_workplace
, personal_number
и id_activity
целыми числами? Каковы значения переменных Python? Если какая-либо из них None
, вам нужно убедиться, что соответствующая переменная базы данных допускает NULL
.