On Oct 14, 2010, at 11:40 AM, Juan Antonio Ibáñez wrote:
Hello!
I am dealing with Turbogears and SQL Alchemy. I need to make one
import from a CSV file to a MySQL DB. I need also to controll which
rows fails on import. I am working with the next code inside a loop:
try:
session.begin(subtransactions=True)
session.add(importe)
session.flush()
nimportados += 1
except Exception as ex:
log.debug(ex)
session.rollback()
nerroneos += 1
During exec I get:
-
12:55:45,598 INFO [sqlalchemy.engine.base.Engine.0x...f1ac] BEGIN
12:55:45,600 INFO [sqlalchemy.engine.base.Engine.0x...f1ac] INSERT
INTO importes (tarifas_id, prefijo, destino, importe, tipo, pc, psi,
ps, sg) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)
12:55:45,600 INFO [sqlalchemy.engine.base.Engine.0x...f1ac] [u'1',
'PREFIJO', 'DESTINO', 'IMPORTE', u'', 0, 60, 60, 0]
12:55:45,601 INFO [sqlalchemy.engine.base.Engine.0x...f1ac] ROLLBACK
12:55:45,603 DEBUG [svbpanel.controllers] (IntegrityError) (1062,
Duplicate entry 'PREFIJO' for key 'prefijo') u'INSERT INTO importes
(tarifas_id, prefijo, destino, importe, tipo, pc, psi, ps, sg) VALUES
(%s, %s, %s, %s, %s, %s, %s, %s, %s)' [u'1', 'PREFIJO', 'DESTINO',
'IMPORTE', u'', 0, 60, 60, 0]
12:55:45,603 DEBUG [svbpanel.controllers] The transaction is inactive
due to a rollback in a subtransaction. Issue rollback() to cancel
the
transaction.
-
Peopel on TG2 group told me about the appearance of not init the
subtransaction.
I thing TG2 init a own transaction in an automatic way so I should
work with subtransactions (I think)
Commiting instead flushing doesn't work...
Any idea about this problem?
perhaps you're looking for SAVEPOINT ? The Session provides this via
begin_nested(). begin(subtransactions=True) is only an in-Python nesting
concept.
Regards
--
You received this message because you are subscribed to the Google Groups
sqlalchemy group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.
--
You received this message because you are subscribed to the Google Groups
sqlalchemy group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.