Такое поведение нормально?
Firebird-2.5.0.21848-0_Win32_PEAKTOP
----------
execute block
returns (TRAN_ID integer)
as
declare variable DB_NAME TYPE OF COLUMN MON$ATTACHMENTS.MON
$ATTACHMENT_NAME;
begin
SELECT A.MON$ATTACHMENT_NAME FROM MON$ATTACHMENTS A
WHERE A.MON$ATTACHMENT_ID = CURRENT_CONNECTION
INTO :DB_NAME;
EXECUTE STATEMENT 'select CURRENT_TRANSACTION from RDB$DATABASE'
ON EXTERNAL 'localhost/3051:' || :DB_NAME
AS USER 'SYSDBA' PASSWORD 'masterkey'
into :TRAN_ID;
SUSPEND;
EXECUTE STATEMENT 'COMMIT WORK'
ON EXTERNAL 'localhost/3051:' || :DB_NAME
AS USER 'SYSDBA' PASSWORD 'masterkey';
EXECUTE STATEMENT 'select CURRENT_TRANSACTION from RDB$DATABASE'
ON EXTERNAL 'localhost/3051:' || :DB_NAME
AS USER 'SYSDBA' PASSWORD 'masterkey'
into :TRAN_ID;
SUSPEND;
end
=============================
Execute statement error at isc_dsql_fetch :335544569 : Dynamic SQL
Error
335544436 : SQL error code = -901
335544332 : invalid transaction handle (expecting explicit transaction
start)
Statement : select CURRENT_TRANSACTION from RDB$DATABASEData source :
Firebird::localhost/3051:C:\_DBASES\AAA_2.5.FDB.