Столкнулись с неприятной "фичей" новой платформы.
При попытке выгрузить журнал регистрации, он в исходном месте так раздулся, что сожрал все место на диске. Естественно работать с базой стало не возможно.
Что сделали.
Перенесли папку с журналом в новое место.
Запустили базу снова.
Начал писать ся новый журнал.
При попытке прочитать старый журнал выдается сообщение:
Ошибка формата файла журнала регистрации
по причине:
sqlite3_exec failed: database disk image is malformed
db: D:\Log_devdeb\reg_2041\da905966-250b-4dfc-97df-da05638e3fab\1Cv8Log\1Cv8.lgd
sql: PRAGMA journal_mode = OFF
Как с этим можно побороться? Ведь все что нажито непосильным трудом... за последние 9 месяцев... так и не родилось... :)
(1) Пробовал. Есть предложение сделать какой-то дамп. Но все делается под линуксами. Написано что командная строка sqlite 3 нормально под виндой не работает. Свой специалист по линуксам в отпуске. Так что ищу альтернативные варианты.
Порядок решения проблемы.
Работа ведется в командной строке.
Установить текущей папкой ту, в которой расположена база данных. Туда же поместить sqlite3 command line.
Выполнить команду sqlite3 main.db .dump>>myDumpSQLite.sql
Где main.db - файл поврежденного лога.
В результате в текущей папке получится файл myDumpSQLite.sql.
В принципе, можно его посмотреть. Это текстовый файл.
После получения файла выполнить команду sqlite3 main-recovered.db <myDumpSQLite.sql
В результате получаем файл main-recovered.db - это и есть восстановленный лог. Переименовываем его для удобства 1С и все. В принципе можно и так читать любым просмоторщиком sqlite.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший