Давеча у клиента одного в магазинах начали кассы ломаться — на одной полетела база (расширение 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. Делаем копию, в отресторенной базе проверяем селектами наличие записей транзакций.
Тоже вариант.
E атола есть инструкция с использованием подручных средств (т.е. самого POSа)
Спасибо. Только аналайзер не работает без мышки: клавиатурой никак не перейти на нужные закладки. А то был шанс насчелкать. Другое дело, что следом пришла мысль «наживую» в базы касс писать базу товаров и продажные транзакции оттуда же забирать — обработку писать день, зато потом столько времени сэкономит. Буду ваять, наверное, на выходных.
А как убрать пароль с main.sdf
При попытки восстановить базу запрашивает.
(3) myasnoy, masterkey может подойдёт
Выложили бы готовый exe. Ради 3 строк не охота качать и ставить c#
Все гораздо проще. Есть программа Database Net. Только не качайте последнюю версию. Кстати, она позволяет и рестор базы делать(скажем, для восстановления настроек или если продажи исчезают за предыдущие дни). Для восстановления из бэкапа смените расширение файла на *.bak
А если к файлу MAIN.GDB пришел полярный зверек, то инфу и из LOG.GDB вытянуть можно. Но здесь обработку для эски писать. Если продаж немного — руками забить в отчет ККМ..
Извините, перепутал с с настоящим Фронтолом. Хотя думаю, и на SE Database Net пойдет. Во всяком случае им пользовался когда накрылась база на буке. Номенклатуру и цены вытягивал через Database Net.