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

Добавлено: 09 апр 2007, 12:57
Alexander
Большое спасибо!!! :cool:

Добавлено: 11 апр 2007, 14:56
Alexander
не получается добавить индексы.
пишу
Alter Table MyTable
Add Index (MyTable09 = DREC + CPODR + CREC + WTREE)
Add Index (MyTable10 = DREC + CPODR + WTREE)
);

ругается, говорит, что для изменения стр-ры необходимо выключить проек, журнал и почистить его...
Журнал выключил проект - не знаю как отключить... зачем такие сложности? Ка быть? в таблицах уже куча данных...

Добавлено: 16 апр 2007, 10:11
edward_K
для того чтобы добавить таблу нужно тоже проделать - вы ж это сумели сделать.
протект выключается так же как и журнал - тока модуль другой.
не забудьте потом грохнуть journal.adf - там часто одна запись остается и блокирует.
Вариант для первасива.
1.остановить работу всех.
2.скопировать ваш каталог и dict в другое место.
3.Выполнить докомиляцию там
4.вернуть все на место(сохранив предыдущий вариант)

Re: Как корректно добавить новую таблицу?

Добавлено: 03 окт 2012, 17:21
LaaLaa
UP-ну тему на всякий случай.

Люди постепенно начали переходить на Галактику 9.1 стали сталкиваться с конфликтом номеров таблиц добавленных ими в 8.1. Провел некоторое историческое расследование. Хочу публично озвучить что в Галактике есть официально зарезервированный диапазон куда программистам Галактики запрещено добавлять таблицы.

Для пользователей и партнеров зарезервирован диапазон кодов таблиц 31500 .. 31899

Инструментарий (Support и компилятор) не запрещает давать таблицам произвольные свободные номера. И это правильно т.к. инструментарием пользуются все программисты.

Чтобы не было дополнительных неудобств с конвертацией собственных таблиц при переходе на новые версии. Рекомендую пользователям создавать таблицы с номерами из этого диапазона.

PS: Информацию про официально закрепленный диапазон можно найти в ПИР 104.19971, 101.17051, 102.73712

Re: Как корректно добавить новую таблицу?

Добавлено: 18 июн 2014, 17:47
Руслан
Добавляю новую таблицу в словарь Галактики. Всех пользователей выгнал, протект и журнализацию отключил. При компиляции ругается на то, что "Ошибка: Не могу блокировать базу данных."

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

//Нормы страхового запаса
Alter Dictionary ;
create table D_USER.normzapas "Нормы страхового запаса"
with table_Code = 32600 with replace
with tableOptions header, journal
(
cmc : ref(table katmc) "Ссылка на katmc.nrec",
cpodr : ref(table katpodr) "Ссылка на katpodr.nrec",
kol : double "Количество",
pdate : date "Дата создания",
pbdate: date "Дата начальная",
pedate: date "Дата конечная")
with index
(
normzapas01 = cmc,
normzapas02 = cpodr,
normzapas03 = cmc+cpodr,
normzapas04 = kol,
normzapas05 = pdate,
normzapas06 = pbdate+pedate
);

alter table normzapas
foreign key normzapas01
references katmc
primary key KATMC01;

alter table normzapas
foreign key normzapas02
references katpodr
primary key KATPODR01;

Re: Как корректно добавить новую таблицу?

Добавлено: 18 июн 2014, 18:59
edward_K
почитайте получше - Alter Dictionary ; уже не рекомендуется использовать. Да и без него не надо ни чистить журнал, ни отключать протект, а создание делается просто запросом в сапорт - SQL(удаление в компиляторе интерфейсов тока почему то либо руками в консоле управления , если есть лицензия на все).

Re: Как корректно добавить новую таблицу?

Добавлено: 19 июн 2014, 12:22
Руслан
Таблица с ошибками, но создалась. При открытии таблицы в саппорте появляется ошибка "Ошибка открытия таблицы 32600. Таблица не найдена". Также таблица создалась не со всеми полями, которые я описывал. Пробую удалить таблицу в саппорте в SQL

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

drop table normzapas;
. Пишет, что "Ошибка. Контекст не найден"

Re: Как корректно добавить новую таблицу?

Добавлено: 19 июн 2014, 12:33
edward_K
edward_K писал(а):(удаление в компиляторе интерфейсов тока почему то либо руками в консоле управления , если есть лицензия на все).

Re: Как корректно добавить новую таблицу?

Добавлено: 19 июн 2014, 12:45
Руслан
edward_K писал(а):
edward_K писал(а):(удаление в компиляторе интерфейсов тока почему то либо руками в консоле управления , если есть лицензия на все).
Пробовал удалять через компилятор интерфейсов, пишет, что "Вы не можете удалять таблицы Галактики". Чего не хватает?

Re: Как корректно добавить новую таблицу?

Добавлено: 19 июн 2014, 13:42
edward_K
Если вы добавляли с Alter Dictionary, то и удалять нужно также. А субд какая?
Возможно придется через vip удалять (штатно все делается именно им).

Re: Как корректно добавить новую таблицу?

Добавлено: 19 июн 2014, 14:23
Руслан
База оракловая. При попытке vip-ом удалить ругается "Не могу блокировать базу данных". Создал таблицу саппортом SQL.

Re: Как корректно добавить новую таблицу?

Добавлено: 19 июн 2014, 15:59
edward_K
Если с Alter создали, то для удаления также нужно всех выгнать и делать в монопольном режиме. Без alter вроде я на ходу удалял, но на MSSQL.

Re: Как корректно добавить новую таблицу?

Добавлено: 19 июн 2014, 16:15
Руслан
edward_K писал(а):Если с Alter создали, то для удаления также нужно всех выгнать и делать в монопольном режиме. Без alter вроде я на ходу удалял, но на MSSQL.
В том то и дело, что создал без alter... Пробую vip-ом удалять, ругается "Не могу блокировать базу данных".

Re: Как корректно добавить новую таблицу?

Добавлено: 20 июн 2014, 14:24
Руслан
Таблица не создавалась из-за того, что был открыт саппорт. Но потом саппорт не запускается, поэтому надо пересоздавать пользователя GAL810#ATLANTIS.