Iterating over PyoDBC result without fetchall()

dave picture dave · Jul 17, 2013 · Viewed 15.7k times · Source

I'm trying to process a very large query with pyodbc and I need to iterate over the rows without loading them all at once with fetchall().

Is there a good and principled way to do this?

Answer

Peter DeGlopper picture Peter DeGlopper · Jul 17, 2013

Sure - use a while loop with fetchone.

http://code.google.com/p/pyodbc/wiki/Cursor#fetchone

row = cursor.fetchone()
while row is not None:
    # do something
    row = cursor.fetchone()