AttributeError:类型对象“ Global”没有属性“ cursor”

时间:2019-07-16 14:56:49

标签: python pyodbc

在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'

注意:我知道,许多这样的问题已经在同一论坛中提出并回答了,但是显然我基于这些指南的解决方法并未产生预期的结果。可能是我执行错误。有人可以解决该问题吗?

1 个答案:

答案 0 :(得分:1)

在pyodbc的查询顶部保持 SET NOCOUNT ON 后,问题已解决。