In general this exception means that Firebird received a request (e.g.
statement execution) that requires a transaction, but the provided
transaction no longer exists.
However, looking at the exception stacktrace, this is a situation where
the connection is already 'destroyed'. Jaybird then reuses this error
code (isc_req_no_trans), and it should probably use something else; it
already has a nice "TODO Right error code?". This can happen if a fatal
error occurred before this, causing Jaybird to forcibly close the
connection, however due to the way Jaybird performs this close, not all
parts of the connection are aware it is closed which causes this less
clear error to be thrown.
In theory, it could happen because of a statement cancel, but in general
that shouldn't produce a fatal error.
You probably need to check your logs for earlier exceptions with error
code isc_network_error = 335544721, isc_io_error = 335544344 or
isc_req_sync = 335544364
Mark
--
Mark Rotteveel