PDA

Просмотр полной версии : Как перекачать базу в чистую



SH
15.05.2009, 15:45
1. Берем upgrade.exe и upgrade.ini, переписываем в отдельную папку. Туда же переписываем нужные скрипты Install2xx.sql и transfer.txt. Как определить нужные? Для второй версии это содержимое папки fromSH2xxtoSH2xx, для третьей - fromSH3xxtoSH3xx. Если будете проводить апгрейд с двойки на тройку, то fromSH2xxtoSH3xx. Install2xx.sql всегда так называется, даже для тройки!
2. В ту же папку переписываем исходную базу, и чистую базу. Чистая база должна быть:
- той же версии, если просто чистим;
- если апгрейдим программу, то той версии, которая нужна под версию программы.
3. В transfer.txt находим
{move\ Статистика по документам: OutPtrs\ [200, 999]\ T\ OutPtrs\\ NO_GEN\ }
{move\ Статистика по документам: Remns\ [200, 999]\ T\ Remns\\ NO_GEN\ }
{move\ Статистика по документам: RemnsA\ [200, 999]\ T\ RemnsA\\ NO_GEN\ }
- и удаляем эти три строчки.
4. Запускаем upgrade.exe. Обратите внимание, что какие-либо ключи для этой программы не нужны! Требуется лишь установленный interbase-сервер. Соответственно, upgrade не зависит от версии сервера interbase, но версия сервера interbase должна соответствовать обрабатываемым базам!
5. БД-источник и бд-приемник - надеюсь, понятно. Выполнить скрипты - все три галки. Из остальных только на всякий случай про log-файл. Если вдруг по дурости делаем обработку на рабочей базе, а не на ее копии, то ставим галку "создавать копии". Но вообще лучше позаботиться об этом вручную самостоятельно.
6. Жмем старт. Можно озаботиться перед процедурой создать пользователя UCS через SHAdmin (а вот она требует ключа) с паролем типа "1". Если не позаботились, логинимся под пользователем SYSDBA, если пароль не меняли, то это стандартный masterkey.
7. Предложение запустить SHCheck - в сад (вы же сделали это раньше и поправили, что смогли?)
8. Выдержка из стандартного хелпа:
"! Скрипты, начинающиеся с SELECT следует запускать, нажимая "Открыть",
! остальные - "Выполнить".
Перед тем, как жать кнопки, вдумчиво читаем начальные комментарии! Если пишет типа "только для перекачки из двухвалютной версии", а у вас обычная (в подавляющем большинстве случаев) - пропускаем. Впрочем, я не замечал каких-то глюков, если эти скрипты все же выполнить.
Также на начальном этапе программа может орать, что такие скрипты уже есть. Значить, их кто-то создал до вас - смело жмем пропустить для каждого такого скрипта.
На "перекачивать содержимое таблиц?" соглашаемся и ждем... Продолжительность этой процедуры зависит от размера базы и расторопности вашей машинки.
Если вываливается с ошибками - прерываем работу и изучаем мегаинфопомощь http://www.carbis.ru/forum/showthread.php?t=68
9. Собственно, после успешной перекачки опять предлагается выполнить скрипты - тут все ровно так, как в начале, читаем и в основном соглашаемся.
Все во внимании, потому что встретиться скрипт
"/* Для выполнения нажми ОТКРЫТЬ (Click OPEN for running script) */" - и надо будет нажать вначале открыть, а потом уже выполнить.
Select'ы тоже не забываем открывать.
В итоге получим еще раз предложение залогиниться, а потом собщение "перекачка завершена!"
10. Радуемся.
11. Еще выдержка:
"После перекачки без статистики запускаем SHCheck.exe, проверяем на
ошибки и после окончания проверки и появления списка ошибок, нажимаем
в любом месте окна правой кнопкой и выбираем пункт "Пересчитать все".
После пересчета снова проверяем на ошибки, если необходимо исправляем
ошибки и пересчитываем неверные очереди (чаще всего эту процедуру
необходимо выполнять несколько-до полного исправления ошибок)
Конечно, может быть ситуация, когда ошибки не исправятся, тогда
необходимо смотреть тексты ошибок и разбираться более тщательно."
Ставить при первом поиске "исправить найденные ошибки" - не надо. Многие ошибки уйдут при пересчете.
Пересчитываем, даже если ошибок не найдено!
Кроме того, если в ошибках есть неверные очереди, то следует пересчитать неверные очереди.
Не забываем перед запуском SHCheck поменять пути на получившуюся базу!
12. Радуемся еще раз.

alezara
19.08.2009, 09:04
Во многих сообщения встречается "той же версии, если просто чистим;"
А как почистить базу?

SH
19.08.2009, 13:27
Собственно, так, как описано в первом сообщении. Просто Вы можете таким образом и апгрейд сделать, а можете и не делать.

walikos
08.11.2010, 00:08
При перекачке из версии SH 3.25 в версию SH 3.30 возникает ошибка - Категории блюд: Categories( Field value required. validation error for column VAT, value "*** null ***" ) - ERROR
Может кто сталкивался?

SH
08.11.2010, 02:23
Продублирую себя же (http://www.carbis.ru/forum/sh-%D0%92%D0%B0%D0%B6%D0%BD%D1%8B%D0%B5-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5/68-%D0%9C%D0%B5%D0%B3%D0%B0%D0%B8%D0%BD%D1%84%D0%BE%D 0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C.html#post7440_
При перекачке баз иногда такая ошибка:
"Field value reguired, validation error for column VAT, value"***null***""
Означает, что версия таблицы-источника старая. Решение нашел здесь:
http://sergmuz.com.ru/restforum/index.php?showtopic=941
Позволю процитировать:
"Означает это, что скрипт апгрэйда пытается получить из старой базы значения несуществующих полей.
Я лечил это так: открыл базу-ИСТОЧНИК редактором и добавил в таблицу CATEGORIES (или CATEGORIES2, проверь по своему логу), поля VAT и SALETAX с флажком "not null", и значениями по умолчанию 0 (ноль). Правильные типы полей можешь посмотреть тем же редактором в базе-ПРИЁМНИКЕ. После этого берёшь чистую базу-ПРИЁМНИК и повторяешь апгрейд. Всё это шаманство нужно, чтобы перекачались списки категорий блюд, самих блюд и калькуляционные карты."
(с) troubleshooter3D

---------- Сообщение добавлено в 01:23 ---------- Предыдущее сообщение было в 01:22 ----------

З.Ы. Пользуюсь всегда iBExpert'ом.

Cooler
08.07.2013, 12:19
Вопрос, при перекачки базы СХ3 в СХ3 запрашивает логин и пароль, ввожу SYSDBA и пароль админа (под этой учеткой без проблем подключаюсь к складу), а мне update выдает неверное имя или пароль! Как такое может быть?

SH
08.07.2013, 23:54
Интербейс какой?