You are running into transaction issues.
Zope wraps all requests in a transaction, and all external database interactions are tied into that transaction too.
This transaction is committed when a request is handled successfully, and no exceptions were raised, and aborted when there was an exception.
The standard_error_message
is displayed when there were exceptions; and because there was an exception, your SQL INSERT is rolled back as the transaction aborts.
You'll have to explicitly commit just the SQL transaction; add a COMMIT
statement to your SQL method.