Using distributed transactions

While SQL Anywhere is enlisted in a distributed transaction, it hands transaction control over to the transaction server, and SQL Anywhere ensures that it does not perform any implicit transaction management. The following conditions are imposed automatically by SQL Anywhere when it participates in distributed transactions:

  • Autocommit is automatically turned off, if it is in use.
  • Data definition statements (which commit as a side effect) are disallowed during distributed transactions.
  • An explicit COMMIT or ROLLBACK issued by the application directly to SQL Anywhere, instead of through the transaction coordinator, generates an error. The transaction is not aborted, however.
  • A connection can participate in only a single distributed transaction at a time.
  • There must be no uncommitted operations at the time the connection is enlisted in a distributed transaction.

DTC isolation levels
Recovery from distributed transactions