Используем БД Firebird 2.5.xxxx.
Появилась задача хранить лог базы в отдельной базе. Как я понял, в этом может помочь использование execute statement. Но решил для начала научиться просто что-либо записывать в другую базу. Была создана отдельная база и таблица в ней следующим скриптом:
Код: Выделить всё
set SQL DIALECT 3;
create database 'C:\Work\LOG_DEBUG.fdb'
user 'SYSDBA' password 'masterkey'
page_size 8192 default character set WIN1251;
CREATE TABLE LOG_TABLES (
ID NUMERIC(18,0) NOT NULL,
TABLE_NAME VARCHAR(100) CHARACTER SET UTF8,
OPERATION VARCHAR(1),
DATE_TIME TIMESTAMP,
USER_NAME VARCHAR(100),
NUM_TRANSACTION INTEGER );
Код: Выделить всё
execute block
as
begin
execute statement 'insert into LOG_TABLES(ID) values(1)'
on external 'C:\Work\LOG_DEBUG.fdb'
with autonomous transaction
as user 'SYSDBA' password 'masterkey';
end
Подскажите пожалуйста, что я делаю не так? Каковы возможные причины ошибки?