Ошибка формата потока #644179


#0 by Ышка
После выключения света полетела БД. Все стандартные методы лечения ничего не дали, кроме chbdfl, который выводит следующее: @@ Поврежден заголовок внутреннего файла <Индексы таблицы 'FILES'> Повреждены данные таблицы 'FILES' Повреждена таблица размещения внутреннего файла <Данные неограниченной длины таблицы 'V8USERS'> Обнаружено рассогласование между данными и индексами таблицы 'V8USERS' @@ после исправления, выводится следующее: @@ Повреждены данные таблицы 'FILES'. Восстановлено 10 из 10 записей.. Потеряно 2 значений полей неограниченной длины Повреждена таблица размещения внутреннего файла <Данные неограниченной длины таблицы 'V8USERS'> @@ после исправления, так же вылетает окно с "ошибкой формата..." Нашел в КЗ: поэтому вопрос: какой обработкой нужно обходить на предмет 0х1а и 0хffff ? Появились ли иные способы востановления работоспособности баз с такой ошибкой?
#1 by Ышка
upd: база файловая
#2 by МихаилМ
надеюсь вариант базы до применения chbdfl сохранился. как вариант инфостарта скачаваете обработка, клторые умеют загружать данные, выгруженные Tool_1CD или ищите awa15 и wde69. они восстановлением файловых занимаются.
#3 by Ышка
"как вариант инфостарта скачаваете обработка, клторые умеют загружать данные, выгруженные Tool_1CD" вот-вот, я уже все таблицы выгрузил (получилось 579), но не знаю как их загрузить в бэкап полугодовалой давности, искал обработки, но чегото не могу найти нужную...
#4 by vde69
есть еще проектик
#5 by МихаилМ
#6 by Ышка
Курю , пытаюсь допетрить как вылечить, то что показывает Tool_1CD: -Ошибка получения объекта из блока. Блок не является объектом. Значение блока 0х23В9. -Попытка чтения данных за пределами объекта. Номер блока объекта 0xFFFFFFFF. -Ошибка чтения индексов. Индекс первого свободного блока за пределами файла индексов. Таблица FILES, длина файла индекса 0x0, индекс свободной страницы 0x0. Самая последняя ошибка, насколько я понял из прочитанного и есть основная проблема. В бекапе длина индекса значится 12288. т.е. мне нужно найти блок где находится данная таблица и поправить значение длины индекса. Блок FILES нашел по адресу 0x2338, но заголовки блоков, что в сломанной, что в рабочей абсолютно одинаковы. Поэтому вопрос: где хранится информация о длине индекса?
#7 by vde69
база большая? по сабжу 1. переименуй таблицу V8USERS (поменяй первый символ) на _8USERS, это таблица пользователей, ничего страшного в гибели ее нет... (востановить пользователей можно и потом, сначало нужно запустить базу) 2. после этого пройди chbdfl, она подрежит "FILES" после этого можно пробовать подцепится к базе по COM и пытатся скопировать данные, (ком меньше отрабатывает при загрузке, шансов больше....) если не поможет - могу глянуть (если архив не очень большей)
#8 by vde69
>>> Индекс первого свободного блока за пределами файла индексов можно вообще поставить 0 (ставится в описании таблици, в самом конце описания), только в нех редакторе не пытайся, накосячишь на картинке это заменить 424301 на 0 (только таблица другая)
#9 by Ышка
вышли те же сообщения что и в сабже (только "V" заменилась на "_") дык и так 0 стоит
#10 by Ышка
Ааа! Стоп машина! Я не понял что произошло, но база запустилась, и даже документы не побились
#11 by Ышка
я так понимаю нужно запустить ТиИ со сжатием?
#12 by vde69
ну хз, смотреть нужно... что-то ты не так делаешь
#13 by zladenuw
бывало такое. но помогала пересоздание в списке базу.
#14 by Ышка
Это блин шаманство какое-то, я так и не понял, почему переименовав таблицу V8USERS, chdbfl вылечил базу (хотя ошибки были те же)
#15 by ptiz
Сделай выгрузку в dt и загрузки в новую базу.
#16 by vde69
если база запустилась сначало сделай промежуточную копию далее три варианта 1. делай перенос данных через хмл в пустую конфу 2. накатывать последнюю конфигурацию и последующее ТИС с режимом сжатия, 3. делать ТИС со всеми галками. пробуй :)
#17 by vde69
выгрузка скорее всего свалится...
#18 by Ышка
Зделал ТиИ со всеми галками, через выгрузку загрузил в чистую конфу. Вроде всё на месте, даже юзвери все остались. P.S.Уважаемые гуру, может вы мне объясните как переименование таблицы помогло корректно вылечить базу!?
#19 by vde69
после переименования таблицы 1с перестала к ней обращатся, таблица есть, но ее нет... фантом... ну и раз таблицы нет, то 1с сама создала новую. правда для меня загадка как пользователи остались?
#20 by vde69
+ наверно ты имееш в виду пользователей из справочника а я о пользователях из конфигуратора :) тогда понятно!
#21 by awa15
Ошибка формата потока была в таблице v8users, поэтому, после переименования таблицы 1С перестала обращаться к битой таблице, ошибка исчезла и база запустилась. При отсутствующей таблице v8users 1С берет данные о пользователях из записи users.usr таблицы PARAMS. При любой попытке изменения пользователей таблица v8users создастся снова.
#22 by vde69
не знал, хотя подозревал подобное, по этому в "нужных" случаях переименовывал "users.usr" на "_sers.usr".
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С