[Zope] Mysterious Database Error

Dieter Maurer dieter at handshake.de
Wed May 12 16:44:28 EDT 2004


Asad Habib wrote at 2004-5-12 10:32 -0400:
>Hello, I am trying to add a record to a MySQL database using a Z SQL
>method. The Z SQL method works fine and I have tested it by itself. Also,
>when called from a DTML method the Z SQL method adds the record to the
>database but Zope returns the following error:
> ...
>*	Module Shared.DC.ZRDB.TM, line 63, in abort
>*	Module Products.ZMySQLDA.db, line 328, in _abort
>
>NotSupportedError: (1196, "Warning: Some non-transactional changed tables
>couldn't be rolled back")

This is not mysterious at all:

  The standard MySQL tables do not support transactions (there
  are "inno"db tables that do).

  Your request was aborted and Zope wanted to tell
  MySQL to rollback the transaction (and undo the changes
  done in this request).
  This is not possible (with standard tables).
  You get informed about this failure.

There is a way to suppress this error report.
I think (though I am not sure) that prefixing the
connect string with "-" does this.
Of course, MySQL does not learn aborts by this.
It is just that the problem report is suppressed.


The cleaner way is to use transactional tables or
a different database system....


-- 
Dieter



More information about the Zope mailing list