строка в запросе pypyodb c не распознана - PullRequest
1 голос
/ 18 апреля 2020

Недавно я решил перенести некоторые из моих скриптов из блокнота jupyter в простые старые python скрипты (.py) по нескольким причинам. в jupyter все работает правильно, однако тот же код ничего не делает в SQL. Я знаю, что процедура правильная, потому что, если я запускаю ее непосредственно на сервере, она делает свое дело.

мой код:

query = 'EXEC [dbo].[kpi_init] '+kpi+';'
cursor.execute(query)

Я попытался добавить кавычки, как это, безуспешно :

query = 'EXEC [dbo].[kpi_init] \''+kpi+'\';'

Я пытался использовать параметризованные запросы, например, безуспешно:

query = 'EXEC [dbo].[kpi_init] ?;'
cursor.execute(query, [kpi])

Стоит отметить, что kpi - это простая переменная, содержащая что-то вроде A00 или X23, и она там, как Я могу распечатать его и использовать для запуска внешних функций. только мой SQL код не работает. я что-то упустил?

спасибо

1 Ответ

1 голос
/ 18 апреля 2020

Попробуйте это:

query = f"EXEC [dbo].[kpi_init] '{kpi}'"
cursor.execute(query)
...