Vous devez utiliser cur.fetchmany()
à la place. Il récupérera un morceau de lignes défini par arraysise (256)
Code Python :
def chunks(cur): # 256
global log, d
while True:
#log.info('Chunk size %s' % cur.arraysize, extra=d)
rows=cur.fetchmany()
if not rows: break;
yield rows
Faites ensuite votre traitement dans une boucle for ;
for i, chunk in enumerate(chunks(cur)):
for row in chunk:
#Process you rows here
C'est exactement comme ça que je le fais dans mon TableHunter pour Oracle .