首页 > 解决方案 > 通过 pyodbc 将参数传递给 SQL 的问题

问题描述

将参数传递给 SQL Server 查询时遇到问题。该查询适用于原始数据,但在我尝试使用参数时无效。SQL 没有识别参数标记。

我得到的错误是

SQL 包含 0 个参数标记,但提供了 2 个参数','HY000'

这是我遇到问题的代码:

currenttime = datetime.datetime(year=2021, month=6, day=7, hour=7, minute=0, second=0, microsecond=999999)
print(currenttime)
print(type(currenttime))
starttime = currenttime = datetime.datetime(year=2021, month=6,day=7,hour=6,minute=0,second=0,microsecond=999999)
params = (starttime,currenttime)
sql='''
SET QUOTED_IDENTIFIER OFF
SELECT * FROM OPENQUERY(INSQL, "SELECT DateTime, [AH41_DP04]
 FROM WideHistory
 WHERE wwRetrievalMode = 'Cyclic'
 AND wwResolution = 1000
 AND wwVersion = 'Latest'
 AND DateTime >= ?
 AND DateTime <= ?")
 ''' 
print(type(params))
cursor.execute(sql,params)

for row in cursor:
    print(row)``

标签: pythonsqlpyodbc

解决方案


推荐阅读