Чиним базу frontol atoll SQL CE / SQL CE Base Repair ( SDF файл )

Давеча у клиента одного в магазинах начали кассы ломаться — на одной полетела база (расширение SDF). Начал искать информацию — как можно репарнуть инфу. Вывод — очевидных действий нет. В данной небольшой публикации я отражу собственно, из чего состоял сам процесс репарации (чтобы самому не забыть, да и другим рассказать) — надеюсь, инфостарт в поисковиках будет отображаться.

1. Первое, что мне понадобилось — MS Visual Studio с C#. Но пойдёт и VB.

2. Рабочий и установленный SQL сервер 2008 (для проверки)

3. Скачиваем SQL CE 3.1 — инсталлируем

4. Создаём проект в студии, подключаем к нему System.Data.SqlServerCe.dll

5. Для C# в проекте пишем:

SqlCeEngine engine = new SqlCeEngine("@Data Source = ПОЛНЫЙПУТЬКБАЗЕСРАСШИРЕНИЕМИМЕНИФАЙЛА");
engine.Repair(null, RepairOption.DeleteCorruptedRows);
Для VB гуглите сами :)
 
6. Делаем копию, в отресторенной базе проверяем селектами наличие записей транзакций.

7 Comments

  1. A_Max

    Тоже вариант.

    E атола есть инструкция с использованием подручных средств (т.е. самого POSа)

    http://blog.atol.ru/archives/738

    Reply
  2. alextom81

    Спасибо. Только аналайзер не работает без мышки: клавиатурой никак не перейти на нужные закладки. А то был шанс насчелкать. Другое дело, что следом пришла мысль «наживую» в базы касс писать базу товаров и продажные транзакции оттуда же забирать — обработку писать день, зато потом столько времени сэкономит. Буду ваять, наверное, на выходных.

    Reply
  3. myasnoy

    А как убрать пароль с main.sdf

    При попытки восстановить базу запрашивает.

    Reply
  4. AneJIbcuH

    (3) myasnoy, masterkey может подойдёт

    Reply
  5. newbas

    Выложили бы готовый exe. Ради 3 строк не охота качать и ставить c#

    Reply
  6. Yuris

    Все гораздо проще. Есть программа Database Net. Только не качайте последнюю версию. Кстати, она позволяет и рестор базы делать(скажем, для восстановления настроек или если продажи исчезают за предыдущие дни). Для восстановления из бэкапа смените расширение файла на *.bak

    А если к файлу MAIN.GDB пришел полярный зверек, то инфу и из LOG.GDB вытянуть можно. Но здесь обработку для эски писать. Если продаж немного — руками забить в отчет ККМ..

    Reply
  7. Yuris

    Извините, перепутал с с настоящим Фронтолом. Хотя думаю, и на SE Database Net пойдет. Во всяком случае им пользовался когда накрылась база на буке. Номенклатуру и цены вытягивал через Database Net.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *