Intereting Posts
Повторно подключитесь к процессу отладки на Android с помощью Eclipse с ADT Confused with removeAllViewsInLayout (), postInvalidate () и refreshDrawableState () Как показать предложения AutoCompleteTextView в альбомной ориентации Как предоставить разрешение на приложение, которое загружается из магазина воспроизведения? Получить текстовое содержимое экрана Android Viewpager и фрагменты Шерлока. Как сделать что-то внутри фрагмента из FragmentActivity? Размещение текста в верхней части изображения в андроиде Эмулятор Android для вечного запуска Как написать / отладить Android.mk для статической библиотеки NDK? Можно ли перезагрузить телефон с Android SDK или NDK? Как предотвратить доступ к моему серверу неавторизованными клиентами История группы каналов Pubnub Как добиться беспроблемного воспроизведения звука между циклами на Android Переход Android Shared Element: преобразование ImageView из круга в прямоугольник и обратно Как я могу переадресовать свой IP-адрес localhost на эмулятор Android?

Как вы определяете, поврежден ли .sqlite или .sqback в Java?

Мне был предоставлен каталог каталогов, каждый из которых содержит коллекцию файлов .sqlite и .sqback, которые я должен анализировать.

Проблема в том, что я считаю, что некоторые из этих файлов повреждаются, когда я их получаю, потому что получаю сообщение об ошибке: ERR: [SQLITE_CORRUPT] Образ диска базы данных искажен (образ диска базы данных искажен) на моей консоли, когда я пытаюсь их обработать , Это происходит только с некоторыми файлами. Я выделил несколько и попытался запустить мою программу на свежих копиях этих плохих файлов по отдельности, и они вызывают ошибки. Большинство файлов прекрасно, хотя 🙂

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

Я пишу на Java. Меня интересует только проверка sqlite и sqback, так как я знаю, что работает мой парсер. Я использую его повторно из предыдущего проекта.

Подсказка? Предложения? Ответы?

Большое спасибо за передачу знаний.

    Запустите PRAGMA quick_check как обычный SQL-запрос. Результат такой же, как таблица с одним столбцом, содержащая строки; Для неповрежденной базы данных вы получаете одну строку с надписью «ok», для поврежденной, кучу сообщений об ошибках.

     sqlite> pragma quick_check; ok 

    После изменения некоторых байтов в файле:

     sqlite> pragma quick_check; *** in database main *** Page 64: btreeInitPage() returns error code 11 On tree page 40 cell 23: Child page depth differs On tree page 40 cell 24: Child page depth differs 

    Нет никакой гарантии, что ошибки будут найдены.