EXECUTE STATEMENT на другой базе

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

EXECUTE STATEMENT на другой базе

Алексей Табаков
This post has NOT been accepted by the mailing list yet.
Добрый день.
Появилась задача хранить лог базы в отдельной базе. Как я понял, в этом может помочь использование 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

Выдаётся ошибка "Firebird error. unknown ISC error 335544921."
Подскажите пожалуйста, что я делаю не так?