pypyodbc查询中的字符串无法识别

问题描述 投票:0回答:1

最近,出于多种原因,我决定将某些脚本从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代码不起作用。我缺少什么吗?

谢谢

python variables parameters odbc
1个回答
1
投票

尝试这个:

query = f"EXEC [dbo].[kpi_init] '{kpi}'"
cursor.execute(query)
© www.soinside.com 2019 - 2024. All rights reserved.