domain "POS_INT"

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Вадим Снопов
Сообщения: 10
Зарегистрирован: 07 дек 2005, 04:33

domain "POS_INT"

Сообщение Вадим Снопов » 07 дек 2005, 05:30

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

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 07 дек 2005, 08:29

Без _точного_ текста ошибки сказать трудно, но, может быть, удалить объекты этот домен использующие? А после Commit и реконнект.

Вадим Снопов
Сообщения: 10
Зарегистрирован: 07 дек 2005, 04:33

Сообщение Вадим Снопов » 07 дек 2005, 12:07

зависимых объектов нет, код ошибки
==
This operation is not defined for system tables.
unsuccessful metadata update.
Column not found.
==

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 07 дек 2005, 14:06

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

Вадим Снопов
Сообщения: 10
Зарегистрирован: 07 дек 2005, 04:33

Сообщение Вадим Снопов » 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 диалекта в кавычках, а тут произошел глюк - кавычки дописались к имени.
Вопрос прежний - как избавиться?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 07 дек 2005, 14:54

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

Вадим Снопов
Сообщения: 10
Зарегистрирован: 07 дек 2005, 04:33

Сообщение Вадим Снопов » 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 - нет).

Ответить