database disk image is malformed
Восстановление внешней базы данных mobi_s.sqlite3
Исходная ситуация
При открытии обработки или в процессе работы в логе появляются сообщения:
database disk image is malformed
Причина
Причиной ошибок в базе данных sqlite может служить повреждение данных в файле (физические/логические повреждения жесткого диска, последствия вирусов, ошибки при копировании файла…).
Решение
Восстановление поврежденной базы данных производится с помощью утилиты командной строки sqlite.
http://www.sqlite.org/download.html, необходимо скачать «sqlite-tools-win32-x86….zip», в описании которой указано «including the command-line shell», на текущий момент актуальная ссылка http://www.sqlite.org/2017/sqlite-tools-win32-x86-3200100.zip
Восстановление
- Закройте все работающие обработки Моби-С.
- Сделайте резервную копию файла mobi_s.sqlite3.
- Скопируйте испорченный файл mobi_s.sqlite3 в отдельный каталог, например C:\1, далее все операции выполняются в этом каталоге если не указано иное.
- В этот каталог необходимо распаковать файл sqlite3.exe из архива sqlite-tools-win32-x86….zip.
- В этот каталог скачайте 2 файла ИзвлечьДанныеИзБазы.bat и ПоместитьДанныеВБазу.bat.
- Выполните файл ИзвлечьДанныеИзБазы.bat, выполнение может занять продолжительное время, в результате будет сформирован файл mobi_s.sql.
- Текстовым редактором (желательно использовать Notepad++ или AkelPad, нежелательно – Блокнот) откройте файл mobi_s.sql.
- Если последняя строка в файле mobi_s.sql начинается с ROLLBACK, то замените всю строку на COMMIT; и сохраните файл.
- В этом каталоге переименуйте файл mobi_s.sqlite3 в mobi_s_исходный.sqlite3.
- Запустите файл ПоместитьДанныеВБазу. bat, выполнение может занять продолжительное время, могут выводится сообщения об ошибках –игнорируйте их, в результате будет сформирован файл mobi_s.sqlite3.
- Скопируйте полученный файл mobi_s.sqlite3 в основной каталог Моби-С с заменой существующего и проверьте работу с внешней базой из одной обработки – сообщения, фотографии, остатки в торговых точках. Если ошибок работы с внешней базой данных нет – запускайте остальные обработки.