使用psycopg2在python中执行查询时出现“ProgrammingError:syntax error at or near”

2024-06-28 20:59:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我运行的是Python v 2.7和psycopg2v2.5 我有一个postgresql数据库函数,它将sql查询作为文本字段返回。

我使用以下代码调用函数并从文本字段中提取查询。

cur2.execute("SELECT * FROM historian.generate_get_archive_data_sql(%s, '*',public.get_dcs_datetime_from_timestamp(%s),public.get_dcs_datetime_from_timestamp(%s))",(row,old_time,current_time))
while True: #Indefinite Loop
    row2 = cur2.fetchone()
    query2 = str(row2)
    cur3.execute(query2)

运行脚本时,我似乎遇到了以下错误

ProgrammingError: syntax error at or near "'SELECT * FROM historian._73b4f984f30b4c68a871fac1c53a1b8f_45907294814208000 WHERE archive_datetime BETWEEN 45907381384722560 AND 45907381384732560 ORDER BY archive_datetime;'" LINE 1: ('SELECT * FROM historian.73b4f984f30b4c68a871fac1c53a1b8f...

当我在postgresql服务器上运行查询时,它执行得很好。有人能帮我理解我做错了什么吗。谢谢。


Tags: from文本executesqlgetdatetimepostgresqlpublic