> I can catch the exception, but don't see any way to tell which row caused the
> problem. Is this information obtainable, short of retrying each row one by
> one?
One way to debug this is to wrap the iterable passed to executemany with one
that remembers the last line. Something like:
class LastIterator(object):
def __init__(self, coll):
self.it = iter(coll)
self.last = None
def __iter__(self):
return self
def next(self):
self.last = next(self.it)
return self.last
...
li = ListIterator(items)
try:
cursor.executemany(sql, li)
except SQLError, e:
print('Error: {}, row was {}'.format(e, li.last))
--
http://mail.python.org/mailman/listinfo/python-list