在pyodbc中运行以下数据库查询时,我遇到以下错误。
查询
DECLARE @TempTable Table (Flag int)
DECLARE @intFlag INT
DECLARE @intFlag1 VARCHAR(50);
SET NOCOUNT ON
SET @intFlag1 = 'foo'
SET @intFlag=(select a.fooID from foo a
where a.fooName=@intFlag1)
INSERT INTO @TempTable SELECT @intFlag
WHILE (@intFlag >=0)
BEGIN
set @intFlag=(select a.basefooId from foo a
join foo b on a.basefooId=b.fooID
where a.fooID=@intFlag)
INSERT INTO @TempTable SELECT @intFlag
END
SELECt * from @TempTable
以上查询在sql server中工作正常。
数据库
connection = pyodbc.connect(super().database_config())
Global.connection = connection.cursor()
result = list(Global.connection.execute(query))
错误:
while Global.cursor.nextset(): # NB: This always skips the first resultset
AttributeError: type object 'Global' has no attribute 'cursor'
注意:我知道,许多这样的问题已经在同一论坛中提出并回答了,但是显然我基于这些指南的解决方法并未产生预期的结果。可能是我执行错误。有人可以解决该问题吗?
答案 0 :(得分:1)
在pyodbc的查询顶部保持 SET NOCOUNT ON 后,问题已解决。