Рис. 2

Восстановление базы данных программы клиент-банк ОАО «Белинвестбанк» (Способ №2)

Сегодня рассмотрим второй способ восстановления базы данных клиент-банка ОАО «Белинвестбанк», этот способ уже будет по сложнее чем первый, но и с ним многие справятся, а вот третий уже будет сложным. И так приступим.

Если первый способ не подошел по каким-то неведомым нам причинам, то берем в руки более тяжелое оружие и приступаем.

  1. Подготовка к восстановлению

1.1.   Необходимо закрыть все копии программы клиент-банк, закрыть сервера программы. Далее необходимо создать копию папки с установленной программой клиент-банк.

  1. Преобразование файла “Homebank.log” в sql-запрос

        2.1.   Приложение Sybase Central 3 запускается без инсталляции. Исполняемый файл – scview.exe (рис. 1).

Рис. 1

Рис. 1

2.2. После запуска программы подключаем модуль Adaptive Server Anywhere, который находится в динамически подключаемой библиотеке scasany6.dll (рис. 2). Для этого заходим в пункт меню “Tools \ Plug-ins \ Change \ Other \ Browse”.

Рис. 2

Рис. 2

2.3.   Подтверждаем все последующие выборы и в Sybase Central’е получаем пункт меню “Adaptive Server Anywhere”, в котором есть “Servises” и “Utilities”, в утилитах пункт меню нужный для выполнения работы называется “Translate Log”.

2.4.   Выполняем запуск утилиты “Translate Log” и по запросу указываем путь к файлу .\BASE\homebank.log (рис. 3).

 

Рис. 3

Рис. 3

2.5.   Указываем, куда положить sql-запрос (рис. 4).

Рис. 4

Рис. 4

2.6.   Продолжаем для всех запросов и всех пользователей (рис. 5).

Рис. 5

Рис. 5

2.7.   Пропускаем внутренние запросы. На всех последующих выборах по умолчанию подтверждаем (рис. 6). В итоге получаем файл “Homebank.sql”.

Рис. 6

Рис. 6

  1. Выполнение sql-запроса

 

3.1.   Удаляем нерабочую базу данных (файлы .\BASE\homebank.db и .\BASE\homebank.log). Далее необходимо в инсталляции программы найти папку “HBBackup”, в ней должен содержаться архив “Homebank.rar”, заходим в архив и там в каталоге «BASE» берем чистую базу homebank.db (либо найти этот же файл в резервной копии программы) и подкладываем в наш каталог.

3.2.   Запускаем сервер базы данных. Для этого заходим “Пуск \  Программы \ Системные Технологии \ Электронные платежи \ {Локальный сервер SQL Anywhere \ Сетевой сервер SQL Anywhere}”, или запускаем исполняемый файл “dbeng6.exe” в каталоге .\Base со следующими параметрами (рис. 7).

Рис. 7

Рис. 7

3.3.   Выполнение SQL-скрипт файла. Далее выполняем ‘Пуск’, ‘Выполнить’ (можете, по-своему, использовать пакетные файлы, файловые менеджеры, важен рабочий каталог сессии операционной системы и параметры, передаваемые приложению при запуске). Выполняем команду “D:\HomeBank\base\ISQL.EXE -S HBServer -P sql -U DBA -D HOMEBANK -i homebank.sql -o homebank_l”. Эту строку можно скопировать прямо из этого текста для локальной версии программы. При других именах сервера и базы заменить на них HBServer и HOMEBANK, соответственно. Параметры утилиты Isql следующие: -s – имя сервера базы данных; -p – пароль для пользователя с правами администратора; -u – пользователь с правами администратора; -d – имя базы данных клиента; -i – входящий sql-запрос (в данном случае файл “homebank.sql”); -o – файл временных транзакций.

На экране будет отображаться черное окно приложения ISQL, но скрипт на самом деле выполняется. Внутри папки BASE будет появляется лог-файл выполнения запросов homebank_l  и временный файл произвольного имени с текстом очередного выполняемого запроса. Можно видеть изменение размера HOMEBANK_L.

По завершении запросов скрипта исчезает черное окно приложения ISQL и перестает меняться размер HOMEBANK_L.  База заполнена.

Учтите что для больших БД может понадобится много времени, при базе объемом примерно в 500 Мб, может понадобится часа 3-4 или больше, будет зависеть от мощности компьютера и процессора (по моим наблюдения я рекомендую запускать восстановление на компьютерах с процессором Intel, быстрее идет процесс восстановления).

3.4.   Далее останавливаем сервер базы данных и запускаем программу клиент-банк. После запуска проверяем счета, запросы, параметры паспорта, криптозащиты и почты.

Если всё в порядке, то восстановление базы данных выполнено.

После процедуры восстановления необходимо сделать резервную копию файла базы данных “Homebank.db”, удалить файл “Homebank.log”, запустить приложение и проконтролировать его создание. В таком случае, в следующий раз, когда база данных будет повреждена, у вас будет резервная копия базы данных (файл “Homebank.db”) и файл с последующими транзакциями (“Homebank.log”).

Альтернативой данной работы является подкладывание взамен поврежденной базы данных homebank.db и лога к ней этих файлов из HBBackup\{Имя клиента в системе}\ddmmyyyy.rar.

А вообще, делайте резервное копирование перед уходом с работы и будет вам счастье.

Если справились, то хорошо, однако если работать программа стала ну очень медленно, то тогда уже придется перейти к третьему методу, иначе никак, если вы конечно хотите сохранить все предыдущие свои данные.