Страница 1 из 1

domain "POS_INT"

Добавлено: 07 дек 2005, 05:30
Вадим Снопов
Везет ан глюки:
создал домен "POS_INT", теперь не могу удалить - сервер (FB1.5.2) отвечает, что операции с системными объектами запрещены.
Как избавиться?

Добавлено: 07 дек 2005, 08:29
Dimitry Sibiryakov
Без _точного_ текста ошибки сказать трудно, но, может быть, удалить объекты этот домен использующие? А после Commit и реконнект.

Добавлено: 07 дек 2005, 12:07
Вадим Снопов
зависимых объектов нет, код ошибки
==
This operation is not defined for system tables.
unsuccessful metadata update.
Column not found.
==

Добавлено: 07 дек 2005, 14:06
Dimitry Sibiryakov
Так-то лучше. Судя по "Column not found" ты пытаешься дропнуть что-то не то. Либо команду неправильно сформировал, либо в имени домена опечатался.
Прежде чем печатать гневный ответ, что ошибиться ты не мог, потрудись приложить к нему лог isql с результатом команды "SHOW DOMAIN POS_INT" и твоей командой удаления.

Добавлено: 07 дек 2005, 14:22
Вадим Снопов
Dimitry Sibiryakov писал(а):Так-то лучше. Судя по "Column not found" ты пытаешься дропнуть что-то не то. Либо команду неправильно сформировал, либо в имени домена опечатался.
Прежде чем печатать гневный ответ, что ошибиться ты не мог, потрудись приложить к нему лог isql с результатом команды "SHOW DOMAIN POS_INT" и твоей командой удаления.
вот log:

Код: Выделить всё

SQL> show domains;
       "POS_INT"                              AUTH_STRING
       BOOLEAN                                COMMENT
       DNS_TYPES                              NAME_PART

SQL> drop domain "POS-INT";
Statement failed, SQLCODE = -607

unsuccessful metadata update
-Column not found
SQL> show domains;
       "POS_INT"                              AUTH_STRING
       BOOLEAN                                COMMENT
       DNS_TYPES                              NAME_PART

SQL> show domain "POS_INT";
There is no domain POS_INT in this database
SQL> drop domain "POS_INT";
Statement failed, SQLCODE = -607

unsuccessful metadata update
-Column not found
SQL>
Спасибо, что навел на мысль: домен создавал в соответствиями 3 диалекта в кавычках, а тут произошел глюк - кавычки дописались к имени.
Вопрос прежний - как избавиться?

Добавлено: 07 дек 2005, 14:54
Dimitry Sibiryakov
Вопрос прежний - как избавиться?
Варианты:
а) DROP DOMAIN ""POS_INT"";
b) IBExpert или какой другой тул;
c) DELETE FROM RDB$FIELDS WHERE RDB$FIELD_NAME='"POS_INT"'
Но возможен также вариант что среди букв POS_INT затесалась русская О, Р или Т так что можно для начала попробовать DROP DOMAIN <copy-paste из вывода>

Добавлено: 07 дек 2005, 14:59
Вадим Снопов
Dimitry Sibiryakov писал(а):
Вопрос прежний - как избавиться?
Варианты:
а) DROP DOMAIN ""POS_INT"";
b) IBExpert или какой другой тул;
c) DELETE FROM RDB$FIELDS WHERE RDB$FIELD_NAME='"POS_INT"'
Thanks, помогло с) (a и b - нет).