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

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

Добавлено: 04 мар 2011, 11:48
galover
Да, и еще напрягает - при добавлении таблиц какие-то невнятные ошибки вылазят, со странными кодами и ничего незначащим описанием. Есть одна странная, неприятная особенность - если при добавлении таблицы возникла ошибка, то уже потом вообще никакое добавление не проходит, видать где-то остаются некорректные записи или еще что. Приходится в таком случаем менять имя добавляемой таблицы, вставлять ее, удалять и снова менять имя на нормальное, сплошные бубны. :-x

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

Добавлено: 26 фев 2013, 06:36
Алексей
А может кто-нибудь подсказать как действовать в следующем случае:

есть две таблицы, пользовательские, добавленные ранее в БД. Хотим добавить к ним поля (расширить). Можно ли обойтись без удаления ВСЕГО журнала? Если да, то как? БД - MS SQL.

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

Добавлено: 26 фев 2013, 10:21
Den
а нельзя почистить разве журнал именно по этим таблицам ? Может ВЕСЬ журнал чистить и незачем ?

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

Добавлено: 26 фев 2013, 10:25
Алексей
можно почистить и по этим таблицам. потом дропнуть таблицы и добавить заново через саппорт?

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

Добавлено: 26 фев 2013, 10:29
Den
угу..вроде логично так по смыслу:

1.чистим журнал по нужной информации
2.select * from table to dbf
3.drop table
4.create table ....
5. import table from dbf arrangeByName

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

Добавлено: 26 фев 2013, 10:49
Masygreen
правильно не использовать
alter dictionary;
и
FullSQL=On

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

Добавлено: 26 фев 2013, 11:24
Алексей
это я читал :) а drop делать из SQL саппорта или из MS SQL ?

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

Добавлено: 26 фев 2013, 13:02
Masygreen
Алексей писал(а):это я читал :) а drop делать из SQL саппорта или из MS SQL ?
asql строчником .. ну я так делаю ...

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

Добавлено: 26 фев 2013, 13:48
edward_K
либо drop делаете через компилятор интерфейсов в сапорте - там это почему то работает. Ну или через консоль управления

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

Добавлено: 01 мар 2013, 14:43
Max_Fin
Должно помочь, на всякий случай, запомните предварительно что у Вас там лежит.

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

UPDATE X$FILES WHERE XF$CODE = 0 SET XF$CheckSum = 0;

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

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

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

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

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

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

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

Собственно, хочу в очередной раз уточнить, то что вы утверждаете, относится только к пользовательским изменениям структуры БД, или "прикладным" тоже?
Ну вот например, эта "прикладная докомпиляция" с легкостью сбрасывает контрольную сумму на 0, и все дальнейшие усилия по сохранению контрольной суммы при пользовательских докомпиляциях сразу сводятся на нет!
Вопрос, зачем же прикладникам обнулять контрольную сумму?

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

Добавлено: 15 мар 2013, 12:57
edward_K
Что касается штатных табл я бы вам посоветовал никогда их не менять - приколы возможны разные, особенно если к ним идет обращение на паскале(зарплатные например 100% лучше не трогать).
Если же вы изменили структуру штатных таблиц(что делает Alter Decimal) и не обнулили контрольную сумму, то при запуске галки будет предупреждение о несовпадении контрольной суммы, но галка вроде как запускалась - хотя лет 5 уже не пробовал. Поменяйте руками в x$users для первой записи контрольную сумму и увидите, что будет(старую только запишите). Что касается Alter Decimal, то мне он лично не нравиться - если 8 знаков не хватает, то надо менять учетную политику, а не портить базу. Сталкивался с тем, что после его работы база оказалась не рабочей(хорошо хоть тестовая). Если знаете Ларина, спросите у него напрямую - он форум не каждый день читает.

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

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

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