【发布时间】:2017-05-07 23:55:17
【问题描述】:
我有一个带有 SQL 查询的管道分隔文本文件。我正在尝试遍历并执行每个查询。当我在循环中打印文件中的查询时,一切似乎都很好。如果我复制文本并在 SSMS 中运行,SQL 运行正常,但是当我尝试使用 pyodbc 执行时,我收到错误:
ProgrammingError: No results. Previous SQL was not a query.
这是我的代码:
with open('C:/users/a/tria_file_by_ASLOB12.csv', 'r') as queryFile:
for line in queryFile:
fields = line.split('|')
print fields[0]
#cursor.execute(fields[0])
#cursor.fetchall()
返回:
SELECT COUNT(DISTINCT(pol_num)) In_Force_Count, sum(lmt_pol_s) Exposure
FROM bapu.dbo.fact_prem
WHERE aslob = 90
and CONCAT(2016,1231) between CAST(d_pol_eff AS DATE) and CAST(d_pol_exp AS DATE)
and cvg_state = 'WA'
and rpt_co_name in (SELECT Ent_Name FROM NAIC_Legal_Ent_Lookup WHERE ID = 40045)
SELECT COUNT(DISTINCT(pol_num)) In_Force_Count, sum(lmt_pol_s) Exposure
FROM bapu.dbo.fact_prem
WHERE aslob = 90
and CONCAT(2016,1231) between CAST(d_pol_eff AS DATE) and CAST(d_pol_exp AS DATE)
and cvg_state = 'WI'
and rpt_co_name in (SELECT Ent_Name FROM NAIC_Legal_Ent_Lookup WHERE ID = 40045)
等
我错过了什么?
谢谢
【问题讨论】:
-
fields[0]是什么类型的,能打印出来吗? -
我刚刚使用条件
pyodbc execute multiple statements进行了搜索。返回的第一个结果是stackoverflow.com/questions/38856534/…。我希望它或其他其中之一有所帮助。