Правильная докомпиляция словаря .. у drop

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Re: Правильная докомпиляция словаря .. у drop

Сообщение galover »

Да, и еще напрягает - при добавлении таблиц какие-то невнятные ошибки вылазят, со странными кодами и ничего незначащим описанием. Есть одна странная, неприятная особенность - если при добавлении таблицы возникла ошибка, то уже потом вообще никакое добавление не проходит, видать где-то остаются некорректные записи или еще что. Приходится в таком случаем менять имя добавляемой таблицы, вставлять ее, удалять и снова менять имя на нормальное, сплошные бубны. :-x
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Правильная докомпиляция словаря .. у drop

Сообщение Алексей »

А может кто-нибудь подсказать как действовать в следующем случае:

есть две таблицы, пользовательские, добавленные ранее в БД. Хотим добавить к ним поля (расширить). Можно ли обойтись без удаления ВСЕГО журнала? Если да, то как? БД - MS SQL.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Правильная докомпиляция словаря .. у drop

Сообщение Den »

а нельзя почистить разве журнал именно по этим таблицам ? Может ВЕСЬ журнал чистить и незачем ?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Правильная докомпиляция словаря .. у drop

Сообщение Алексей »

можно почистить и по этим таблицам. потом дропнуть таблицы и добавить заново через саппорт?
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Правильная докомпиляция словаря .. у drop

Сообщение Den »

угу..вроде логично так по смыслу:

1.чистим журнал по нужной информации
2.select * from table to dbf
3.drop table
4.create table ....
5. import table from dbf arrangeByName
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Re: Правильная докомпиляция словаря .. у drop

Сообщение Masygreen »

правильно не использовать
alter dictionary;
и
FullSQL=On
Время ведет!
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Правильная докомпиляция словаря .. у drop

Сообщение Алексей »

это я читал :) а drop делать из SQL саппорта или из MS SQL ?
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Re: Правильная докомпиляция словаря .. у drop

Сообщение Masygreen »

Алексей писал(а):это я читал :) а drop делать из SQL саппорта или из MS SQL ?
asql строчником .. ну я так делаю ...
Время ведет!
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Правильная докомпиляция словаря .. у drop

Сообщение edward_K »

либо drop делаете через компилятор интерфейсов в сапорте - там это почему то работает. Ну или через консоль управления
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Re: Правильная докомпиляция словаря .. у drop

Сообщение Max_Fin »

Должно помочь, на всякий случай, запомните предварительно что у Вас там лежит.

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

UPDATE X$FILES WHERE XF$CODE = 0 SET XF$CheckSum = 0;
Жду выхода Вселенная 2.12!
Friendlyman
Постоянный гость
Сообщения: 74
Зарегистрирован: 23 июн 2007, 23:07
Откуда: ТопСофт, Минск

Re: Правильная докомпиляция словаря .. у drop

Сообщение Friendlyman »

Может кто-нибудь мог абы подытожить, как все таки правильно поступать при необходимости докомпилировать словарь БД
Основываясь на комментарии Терсина, делаю вывод, что зануление контрольной суммы словаря вообще является обходом старого давно устраненного глюка.
Известный хинт с занулением контрольной суммы связан с тем, что на Атлантисе 3.?? флаг пользовательского изменения словаря при расчёте контрольной суммы не учитывался
Таким образом, предполагаю, что будет меньше проблем, если при любой докомпиляции контрольную сумму словаря вообще не трогать. Однако не заблуждаюсь ли я?

В связи с этой неопределенностью хотелось бы узнать:
1) Нужно ли или не нужно занулять или пересчитывать контрольную сумму словаря при его докомпиляции?
2) Запустится ли chkora.exe для проверки, если контрольную сумму изменить? А запустится ли если контрольную сумму не менять? Если запустится, то не покоцает ли chkora.exe пользовательские изменения в таблицах?
3) Запустится ли галактика на докомпилированном словаре, если не менять контрольную сумму? Будет ли видеть при этом новые поля?
Запустится ли галактика на докомпилированном словаре, если контрольную сумму пересчитать (не обнулять)?
4) Если меняем структуру существующей таблицы с помощью утилиты Консоли управления в Support нужно ли выполнять экспорт и последующий импорт существующих в таблице данных, чтобы они не покоцались?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Правильная докомпиляция словаря .. у drop

Сообщение edward_K »

Вы читать умеете? Политика партии и народа поменялась. Теперь не надо делать alter dictionary и соотв. контрольная сумма меняться не будет, поскольку ваши таблы будут не системными. Обнуление или пересчет приводит к различным проблемам - например при запуске проверки базы на mssql из сапорта(обойти можно, но руками запуская chkmssql c особым cfg). То, на что вы ссылаетесь, действовало 3-4 года назад на 712 и ниже. Терсин кстати уже уволился, так что смотрите на комментарии Ларина (LaaLaa) - они более свежие.
Friendlyman
Постоянный гость
Сообщения: 74
Зарегистрирован: 23 июн 2007, 23:07
Откуда: ТопСофт, Минск

Re: Правильная докомпиляция словаря .. у drop

Сообщение Friendlyman »

edward_K писал(а):Вы читать умеете? Политика партии и народа поменялась. Теперь не надо делать alter dictionary и соотв. контрольная сумма меняться не будет, поскольку ваши таблы будут не системными. Обнуление или пересчет приводит к различным проблемам - например при запуске проверки базы на mssql из сапорта(обойти можно, но руками запуская chkmssql c особым cfg). То, на что вы ссылаетесь, действовало 3-4 года назад на 712 и ниже. Терсин кстати уже уволился, так что смотрите на комментарии Ларина (LaaLaa) - они более свежие.
Ну с чтением проблем раньше не наблюдалось... :)
То, что Терсин уволился, я тоже в курсе, и с Лариным знаком лично.
Но вопрос не в этом.

Собственно, хочу в очередной раз уточнить, то что вы утверждаете, относится только к пользовательским изменениям структуры БД, или "прикладным" тоже?
Ну вот например, эта "прикладная докомпиляция" с легкостью сбрасывает контрольную сумму на 0, и все дальнейшие усилия по сохранению контрольной суммы при пользовательских докомпиляциях сразу сводятся на нет!
Вопрос, зачем же прикладникам обнулять контрольную сумму?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Правильная докомпиляция словаря .. у drop

Сообщение edward_K »

Что касается штатных табл я бы вам посоветовал никогда их не менять - приколы возможны разные, особенно если к ним идет обращение на паскале(зарплатные например 100% лучше не трогать).
Если же вы изменили структуру штатных таблиц(что делает Alter Decimal) и не обнулили контрольную сумму, то при запуске галки будет предупреждение о несовпадении контрольной суммы, но галка вроде как запускалась - хотя лет 5 уже не пробовал. Поменяйте руками в x$users для первой записи контрольную сумму и увидите, что будет(старую только запишите). Что касается Alter Decimal, то мне он лично не нравиться - если 8 знаков не хватает, то надо менять учетную политику, а не портить базу. Сталкивался с тем, что после его работы база оказалась не рабочей(хорошо хоть тестовая). Если знаете Ларина, спросите у него напрямую - он форум не каждый день читает.
Friendlyman
Постоянный гость
Сообщения: 74
Зарегистрирован: 23 июн 2007, 23:07
Откуда: ТопСофт, Минск

Re: Правильная докомпиляция словаря .. у drop

Сообщение Friendlyman »

Тем не менее, $ALTER810_DECIMAL - докомпиляция поставляемая разработчиком.
Насколько понимаю (эти утверждения пока не проверены):
1) на данный момент нет необходимости, менять контрольную сумму словаря, в том числе и в случае $ALTER810_DECIMAL
2) на словаре с не измененной контрольной суммой, но докомпилированной таблицей, Галактика должна запуститься без доп.сообщений.
3) -//- chkora.exe тоже ругаться не будет, но совсем не понятно, не покоцает ли chkora.exe измененные таблицы.
Собственно, если у кого есть, что сказать по этим утверждениям - welcome! Может, уже кто-то их подтвердил или опроверг....

(Ларин в командировке)
Ответить