powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка при ресторе в 3-м диалекте
5 сообщений из 5, страница 1 из 1
Ошибка при ресторе в 3-м диалекте
    #32458107
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую FB1.5 + IBExpert
Создаю базу в 3-м диалекте.
Объявляю 2 функции

DECLARE EXTERNAL FUNCTION STRLEN
CSTRING(16384)
RETURNS INTEGER BY VALUE
ENTRY_POINT 'fn_strlen' MODULE_NAME 'rfunc';

DECLARE EXTERNAL FUNCTION SUBSTR
CSTRING(256), INTEGER, INTEGER
RETURNS CSTRING(256)
ENTRY_POINT 'fn_substr' MODULE_NAME 'rfunc';

новую создаю таблицу

CREATE TABLE PROGRAMS (
ID PROGDOMAIN /* VARCHAR(15) */ NOT NULL,
NAME VARCHAR(40) NOT NULL COLLATE PXW_CYRL,
PID COMPUTED BY (SUBSTR(ID,1,STRLEN(ID)-3))
);

Далее пытаюсь выполнить b\r

При ресторе если установлен флаг "Commit after each table" выдается ошибка

IBE: Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
action cancelled by trigger (0) to preserve data integrity.
could not find table/procedure for GRANT.

Если флаг не установлен то все проходит нормально.

Что за проблема такая?
...
Рейтинг: 0 / 0
Ошибка при ресторе в 3-м диалекте
    #32459121
Maks_f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я все понимаю, а нельзя обойтись без таких объявлений полей - это конечно круто и время экономит, но сколько уже нахлебались при переходе между диалектами и кодировками когда были объявы типа DEFAULT 'ЧТО НИБУДЬ В КИРИЛИЦЕ'
...
Рейтинг: 0 / 0
Ошибка при ресторе в 3-м диалекте
    #32459168
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А при чем здесь DEFAULT. Я его не использую.
...
Рейтинг: 0 / 0
Ошибка при ресторе в 3-м диалекте
    #32459212
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зато ты пользуешь COMPUTED BY (SUBSTR(ID,1,STRLEN(ID)-3))
Я чесно говоря, не помню, кто за чем ресторится, но если сперва таблицы, а потом UDF, то тут и есть грабли .
...
Рейтинг: 0 / 0
Ошибка при ресторе в 3-м диалекте
    #32459537
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, если делать рестор без коммита то иногда выскакивает сообщение о том что ф-я substr или strlen неизвестная. Только появляется она не всегда.

Кстати а что делать тогда с CALCULATE полями если в них используются UDF?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка при ресторе в 3-м диалекте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]