Файл данных имеет неверный формат или повреждён

Перед тем, как задать вопрос, ознакомьтесь с ответами на часто задаваемые вопросы и со Справкой. Пожелания пишем на reformal.ru

Модераторы: Genery, Elena Polyanskikh

Ответить
Сообщение
Автор
kozlovaa
Сообщения: 6
Зарегистрирован: 17 июл 2014 18:38

Файл данных имеет неверный формат или повреждён

#1 Сообщение kozlovaa » 23 окт 2017 06:56

Добрый день.
Открываю в 5 версии ранее используемый файл at5. Файл не открывается, выводится ошибка - http://take.ms/64ymR:
Файл данных имеет неверный формат или повреждён (1)
Error executing SQL.
Error [11]: The database disk image is malformed
"SELECT guid FROM global": database disk image is malformed
Причина неизвестна. Возможно, было экстренное отключение. С последней архивации внёс много изменений, поэтому хотелось бы восстановить именно этот файл. Подскажите, пожалуйста, что можно сделать.

Аватара пользователя
Genery
Site Admin
Сообщения: 3370
Зарегистрирован: 23 янв 2005 06:17
Откуда: Новосибирск
Контактная информация:

Re: Файл данных имеет неверный формат или повреждён

#2 Сообщение Genery » 23 окт 2017 12:13

Нужно восстановить данные из архивной копии.
Дмитрий Киркинский, Genery Software

Аватара пользователя
piotr
Сообщения: 455
Зарегистрирован: 27 июл 2010 17:20
Откуда: Петербург

Re: Файл данных имеет неверный формат или повреждён

#3 Сообщение piotr » 23 окт 2017 12:23

В своём редакторе я веду пошаговый лог всех операций. Шаг - это одна транзакция типа добавить событие с такими-то полями, связать документ с источником и т.п. Таким образом, от любой сохранённой версии я могу восстановить все исправления, кроме, возможно, поледнего, на котором программа сломается. Может быть, в базовом "Древе Жизни" можно сделать так же?
Такой лог можно и авторам выслать, и дихотомией найти, какая из операций привела к нежелательному результату.

Аватара пользователя
Genery
Site Admin
Сообщения: 3370
Зарегистрирован: 23 янв 2005 06:17
Откуда: Новосибирск
Контактная информация:

Re: Файл данных имеет неверный формат или повреждён

#4 Сообщение Genery » 23 окт 2017 13:28

Очень сомневаюсь, что бд можно так повредить программно.
Дмитрий Киркинский, Genery Software

kozlovaa
Сообщения: 6
Зарегистрирован: 17 июл 2014 18:38

Re: Файл данных имеет неверный формат или повреждён

#5 Сообщение kozlovaa » 23 окт 2017 13:37

А нет возможности восстановить базу данных SQLite, пусть даже с потерей части данных? Хоть что-то спасти.

Аватара пользователя
piotr
Сообщения: 455
Зарегистрирован: 27 июл 2010 17:20
Откуда: Петербург

Re: Файл данных имеет неверный формат или повреждён

#6 Сообщение piotr » 23 окт 2017 14:49

Genery писал(а): 23 окт 2017 13:28 Очень сомневаюсь, что бд можно так повредить программно.
Да, конечно, но вне зависимости от причины гибели базы лог, если его не убить одновременно с базой, поможет восстановить свои исправления. Тут ведь пользователь пишет, что много наисправлял от последнего архивирования. Ну и анализ лога поможет найти причины множества других проблем. И резервная копия лога, в отличие от всей базы, тоже секундное дело, и места на диске немного займёт.
Я веду лог от последней версии базы, созданной ещё в Windows в марте. Работаю не очень интенсивно, за это время в логе 500 с чем-то записей появилось. Ни разу не загружал свою базу обратно в Древо, но знаю по крайней мере, что если что-то делаю не так, то смогу поправить редактор и заново прогнать через него все изменения.

Аватара пользователя
Genery
Site Admin
Сообщения: 3370
Зарегистрирован: 23 янв 2005 06:17
Откуда: Новосибирск
Контактная информация:

Re: Файл данных имеет неверный формат или повреждён

#7 Сообщение Genery » 24 окт 2017 07:38

kozlovaa писал(а): 23 окт 2017 13:37 А нет возможности восстановить базу данных SQLite, пусть даже с потерей части данных? Хоть что-то спасти.
Есть какие-то программы от сторонних разработчиков, оценить их эффективность и порекомендовать не могу, не пользуюсь.
Дмитрий Киркинский, Genery Software

kozlovaa
Сообщения: 6
Зарегистрирован: 17 июл 2014 18:38

Re: Файл данных имеет неверный формат или повреждён

#8 Сообщение kozlovaa » 25 окт 2017 12:08

Хорошо бы ещё разобраться, как из .at5 получить .db, чтобы работать с редакторами SQLite

Аватара пользователя
Genery
Site Admin
Сообщения: 3370
Зарегистрирован: 23 янв 2005 06:17
Откуда: Новосибирск
Контактная информация:

Re: Файл данных имеет неверный формат или повреждён

#9 Сообщение Genery » 25 окт 2017 12:21

kozlovaa писал(а): 25 окт 2017 12:08 Хорошо бы ещё разобраться, как из .at5 получить .db, чтобы работать с редакторами SQLite
Просто изменить расширение.
Дмитрий Киркинский, Genery Software

kozlovaa
Сообщения: 6
Зарегистрирован: 17 июл 2014 18:38

Re: Файл данных имеет неверный формат или повреждён

#10 Сообщение kozlovaa » 26 окт 2017 10:28

Сделал аналогично этой инструкции, но когда добрался до открытия sql файла в блокноте, увидел, что повреждения уничтожили слишком много информации. Сохранились почти все привязки документов (фото), но самих записей нет. Так что в результате конечный файл открылся совсем пустым :(
Ну что ж, будет уроком почаще проводить архивацию.

Аватара пользователя
piotr
Сообщения: 455
Зарегистрирован: 27 июл 2010 17:20
Откуда: Петербург

Re: Файл данных имеет неверный формат или повреждён

#11 Сообщение piotr » 26 окт 2017 10:48

Файл с дампом получился? Сохранились ли в нём текстовые значения, которые Вы вводили: имена, названия, комментарии? Они все должны быть в таблице ValuesStr. Если они есть, то это уже большая помощь при восстановлении, не нужно заново набирать все тексты и есть шанс ничего не забыть.

kozlovaa
Сообщения: 6
Зарегистрирован: 17 июл 2014 18:38

Re: Файл данных имеет неверный формат или повреждён

#12 Сообщение kozlovaa » 26 окт 2017 11:58

piotr писал(а): 26 окт 2017 10:48 Файл с дампом получился? Сохранились ли в нём текстовые значения, которые Вы вводили: имена, названия, комментарии? Они все должны быть в таблице ValuesStr. Если они есть, то это уже большая помощь при восстановлении, не нужно заново набирать все тексты и есть шанс ничего не забыть.
Большинство таблиц заканчиваются строкой /****** CORRUPTION ERROR *******/
Из адекватного текста только [Documents], хотя и она тоже обрывается. Так что, похоже, база побилась конкретно.
Вот вся [ValuesStr], если это она:

Код: Выделить всё

CREATE TABLE [ValuesStr] (

  [f_id] INTEGER NOT NULL, 

  [f_db_id] INTEGER NOT NULL, 

  [rec_id] INTEGER NOT NULL, 

  [rec_db_id] INTEGER NOT NULL, 

  [rec_table] INTEGER NOT NULL DEFAULT 0, 

  [lang_id] INTEGER NOT NULL CONSTRAINT [fk_Lng] REFERENCES [Languages]([id]) ON DELETE RESTRICT ON UPDATE RESTRICT, 

  [vstr] TEXT(150), 

  [vblob] BLOB, 

  [lconf] INTEGER NOT NULL DEFAULT 0, 

  [ltrust] INTEGER NOT NULL DEFAULT 10, 

  [comment] BLOB, 

  CONSTRAINT [fk_R] FOREIGN KEY([rec_id], [rec_db_id], [rec_table]) REFERENCES [__Recs]([rec_id], [rec_db_id], [rec_table]) ON DELETE CASCADE ON UPDATE CASCADE, 

  CONSTRAINT [fk_F] FOREIGN KEY([f_id], [f_db_id]) REFERENCES [Fields]([id], [db_id]) ON DELETE CASCADE ON UPDATE CASCADE);
/****** CORRUPTION ERROR *******/

Аватара пользователя
piotr
Сообщения: 455
Зарегистрирован: 27 июл 2010 17:20
Откуда: Петербург

Re: Файл данных имеет неверный формат или повреждён

#13 Сообщение piotr » 26 окт 2017 13:10

Печально. Documents сама по себе большой ценности не имеет - без DocumentDetails, ValuesStr. Хотя она весит больше всех - в ней превьюшки всех картинок.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и 9 гостей