Sie sollten cur.fetchmany()
verwenden stattdessen. Es wird ein Stück von Zeilen abgerufen, die durch arraysise (256) definiert sind.
Python-Code:
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
Führen Sie dann Ihre Verarbeitung in einer for-Schleife durch;
for i, chunk in enumerate(chunks(cur)):
for row in chunk:
#Process you rows here
Genau so mache ich es in meinem TableHunter for Oracle .