Тема: «Обновить уже обновленную базу»
petmas
Гость
|
Создано:
05.02.2010 12:38:34
|
Всем привет.
помнится что в 8-й версии была возможность запустить обновление базы, которая как бы не требует обновления. Можно ли (и как?) это сделать в C4B?
спасибо
|
|
|
Модератор
Всего сообщений: 235
Дата регистрации: 05.11.2008
|
Создано:
05.02.2010 12:55:45
|
Проще всего отмотать в базе номер версии на единицу. Номер версии базы хранится в таблице comtec_sys. Его можно посмотреть при помощи запроса:
select * from comtec_sys where parm_name='VERSION_ID'
В поле int_value как раз и содержится номер версии.
Изменить его можно при помощи запроса:
update comtec_sys set int_value=(int_value-1) where parm_name='VERSION_ID';
commit
После этого у Вас запустится обновление базы данных.
|
|
|
petmas
Гость
|
Создано:
05.02.2010 17:15:48
|
мысль интересная, но не работет,
утилита практически сразу вываливается (еще до поднятия диалога, какие базы обновлять) ошибка. Смотри аттач
|
|
|
Модератор
Всего сообщений: 235
Дата регистрации: 05.11.2008
|
Создано:
05.02.2010 18:06:20
|
Эта ошибка никак не связана с описанной проблемой. Скорее всего проблема с правами доступа Windows.
|
|
|
petmas
Гость
|
Создано:
05.02.2010 18:23:56
|
связана.
Если скриптом же вернуть "нормальную" версию базе (7471) то утилита обновления запускается, но говорит, что обновление баз не требуется.
я думаю, что это возникает из-за того, что генератор скриптов по честному считает базу версией 7470 и генерить соответсвующий скл запросы, которые не проходят на 7471
К слову на компьютере у меня зарегистрировано 3 базы комтеха
|
|
|
Модератор
Всего сообщений: 235
Дата регистрации: 05.11.2008
|
Создано:
06.02.2010 21:03:35
|
Поверьте, я знаю о чем пишу и сам делал это не раз. У Вас возникает ошибка при попытке создать резервную копию базы, а это значит, что процесс обновления уже запустился (окна выбора баз нет, т.к. все остальные базы правильной версии). Когда версия у базы 7471, то никакой процесс копирования просто не запускается и поэтому ошибки нет. Разберитесь, почему не идет копирование. Это может быть либо из-за того, что нет прав доступа на копирование этого файла, либо просто к базе кто-то подключен.
А зачем Вам вообще делать насильное обновление базы?
|
|
|
petmas
Гость
|
Создано:
09.02.2010 01:55:15
|
 |
Алексей!
Значит проблема зарыта где-то еще. Например, логика программы пытается в одно место копировать дважды.
я это говорю достаточно утвердительно, потому что на мой "девелоперской" конфигурации я сам себе админ и никаких ограничений по правам нет.
Кроме этого если взять родные файлы предыдущей версии (не помню уже точно какой) и положить в те же самые папки/одбц ярлыки, то процесс идет без сучка и задоринки.
Вы сами пробовали Ваш метод на практике?
Мне это нужно, потому что по причинам интерграции с другим фирмовым софтом я в базу комтеха вношу кое-какие изменения, а я помню по 8-ке, что трансдата сначала вычищает весь мусор, не принадлежащий "официальной" версии и только потом делает обновление.
А вычистить базу от моего "мусора" мне потребовалось, чтобы сделать усечение базы (начальство!).
Кстати, усечение, похоже, тоже не работает. Но это уже в следующей ветке.
честь имею, Тараненко Олег. Если захотите писать в приват почту пишите на olegtaranenko a_t gmail point com
|
|
|
petmas
Гость
|
Создано:
09.02.2010 02:00:34
|
Сорри, только сейчас увидел про "сам делел не раз" Может быть вы делали, когда требовалось запустить только ОДНУ копию на update? А у меня, как я сказал раньше, их нужно одновременно 3 штуки. И из-за этого и ошибка? Попробуйте зарегистрировать несколько баз и открутить версию только у одной из них
|
|
|
Модератор
Всего сообщений: 235
Дата регистрации: 05.11.2008
|
Создано:
09.02.2010 11:22:15
|
Не важно, сколько у Вас зарегистрировано баз (у меня их на компьютере около 100). Система просто проверяет номер версии и если он не совпадает с номером идеальной базы, которая хранится в папке Pipe, то запускается обновление. У Вас не делается копия базы (этот процесс запускается автоматом при обновлении, когда уже проверка но номер версии завершена). Это может быть из-за того, что у Вас висит коннект к этой базе (либо сервис Comtec, либо к базе кто-то локально подключен, либо к базе есть подключение из другого приложения). Если у Вас все равно не получится, то можете выложить мне базу на FTP, я ее обновлю. За адресом FTP обращайтесь antokhin@comtec.ru
По поводу усечения. Оно действительно в Вашей версии не работает. Мы исправили ошибку в версии 9.0.9.
|
|
|
petmas
Гость
|
Создано:
10.02.2010 00:28:35
|
Понял, спасибо. Особенно за замечание про 9.0.9. Собственно говоря, с усечения-то все и начиналось. когда оно упало, я подумал, что виновны мои изменения в базе.
А раз "консерватория виновата", то может быть и обновление и не понадобится.
Может быть заодно, раз уж разговор зашел, поделитесь, что это усечение делает? Грубыми мазками...
Я подозреваю, набор команд DELETE FROM jmat/jscet/... where dt < '20070101' в правильной последовательности?
|
|
|
Страницы: 2 [ 1 2 | Все ] |
|
|
|
Для комментариев необходимо пройти авторизацию. |
|
 |
|
Помощь |
|