Программно восстановить базу данных SQLite

У меня есть необходимость попробовать восстановить базу данных SQLite из программы.NET, если файл базы данных поврежден. Я нашел несколько сайтов, таких как Fix SQLite, и в FAQ он описывает, что вы можете:

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

Кто-нибудь знает способ программного восстановления базы данных SQLite в.NET?

2 ответа

Решение

Вы пропускаете одно важное слово: вы можете "восстановить некоторые данные", это не ремонт!

Если существует ситуация, когда поврежденная база данных может быть полностью восстановлена ​​без взаимодействия с пользователем, то она не будет повреждена, и repair была бы стандартной функцией SQLite

Вы можете рассмотреть возможность реализации своей собственной стратегии восстановления базы данных. Вы можете сохранить резервные копии файла SQLite, а затем проверить, что все в порядке, используя:

PRAGMA integrity_check; 

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

Другие вопросы по тегам