Подождите ...

[Сообщения об ошибках][Сообщите об ошибке в программе LibaBook]
Ошибка конвертирования структуры файла firebird v2->v3! :Не удалось скопировать


Версия LibaBook: 3.010.10<br>Версия Windows: Win10 Pro x64<br>Текст сообщения в окне с ошибкой (если появлялось): Ошибка конвертирования структуры файла firebird v2 -&gt; v3! :Не удалось скопировать [C:\Users\Warlock\Desktop\Мои Книги в.3\Мои книги_db\main.lbbk2] в [C:\LibaBook3\tmp\libabook3_convert\main.lbbk2]!<br><br>Укажите шаги для воспроизведения ошибки:<br>1) Запустить LibaBook.<br>2) Меню -&gt; Мастер конвертирования -&gt; указываю путь к старой БД (к файлу .lbbk2) -&gt; указываю, где создать новую БД и название БД<br>3) Нажимаю кнопку &quot;Создать копию старой базы в новом формате&quot;, появляется окно &quot;Подождите&quot;, и через секунду-две - указанное выше сообщение.

Если у вас такая же ошибка, напишите пожалуйста в комметрарии версию LibaBook и Windows.


21.04.2022 16:31
WarlockRus
PREMIUM
143 10

Ошибка конвертирования структуры файла firebird v2->v3! :Не удалось скопировать



Версия LibaBook: 3.010.10
Версия Windows: Win10 Pro x64
Текст сообщения в окне с ошибкой (если появлялось): Ошибка конвертирования структуры файла firebird v2 -> v3! :Не удалось скопировать [C:\Users\Warlock\Desktop\Мои Книги в.3\Мои книги_db\main.lbbk2] в [C:\LibaBook3\tmp\libabook3_convert\main.lbbk2]!

Укажите шаги для воспроизведения ошибки:
1) Запустить LibaBook.
2) Меню -> Мастер конвертирования -> указываю путь к старой БД (к файлу .lbbk2) -> указываю, где создать новую БД и название БД
3) Нажимаю кнопку "Создать копию старой базы в новом формате", появляется окно "Подождите", и через секунду-две - указанное выше сообщение.
0
+0
-0
На голосовании
21.04.2022 16:34
# WarlockRus  PREMIUM  143 10 +0
Дополню - сабж не зависит ни от названия новой БД, ни от того, где она находится. Пробовал разные варианты - разницы никакой.
22.04.2022 09:25
# FreeMind  Модератор  633 368 +0
На тестовом компьютере, ошибка копирования появлялась при включенном антивирусе avast, при этом им выводилось сообщение в котором можно было подтвердить действие удаления, хотя на самом деле создаются новые файлы. После подтверждения и повторной попытке конвертация успешно прошла. Но после установки LibaBook3 заново, проблема повторилась, причём после подтверждения действия в avast ошибка осталась и повторялась постоянно, а avast никаких сообщений больше не выводил. После отключения экранов аваста всё заработало и конвертация прошла успешно.

Рекомендация:
Попробуйте отключить свой антивирус на время выполнения конвертации.
22.04.2022 09:28
# WarlockRus  PREMIUM  143 10 +0
Аваст не стоит. Касперыча полностью отключал - не помогает.
22.04.2022 09:39
# FreeMind  Модератор  633 368 +0
1. Проверьте, что вы точно отключили антивирус, возможно после отключения требуется перезагрузка компьютера для применения изменений.

2. Если ошибка повториться попробуйте вручную скопировать указанные файлы и посмотреть будет ли ошибка.

3. Так же обратите внимание, что приложение LibaBook2 должно быть закрыто при конвертировании.
22.04.2022 09:50
# FreeMind  Модератор  633 368 +0
Так же, чтобы убедиться, что проблема не конкретно в вашей БД, создайте в LibaBook2 любую демонстрационную БД, и проверьте будет ли ошибка при её конвертации в v3.
22.04.2022 09:49
# WarlockRus  PREMIUM  143 10 +0
1. Антивирус тут точно не при чем, поскольку на компьютере без него (но с той же ОС) та же ошибка.
2. При копировании вручную файла  та же ошибка. Судя по всему - при конвертировании LB3 очищает папку LibaBook3\tmp\libabook3_convert
поскольку я пробовал и только файл main.lbbk2 туда копировать, и полностью БД в старом формате - ошибка все равно вылетает, а на выходе - пустая папка.
22.04.2022 10:06
# FreeMind  Модератор  633 368 +0
"2. При копировании вручную файла та же ошибка."
- Имеется в виду, что файл вручную успешно копируется, а уже потом, ошибка остаётся?
Если так, то у LibaBook3 явно не хватает прав на запись в папку LibaBook3\tmp

Попробуйте запустить LibaBook3 с правами администратора и сконвертировать.
22.04.2022 12:50
# WarlockRus  PREMIUM  143 10 +0
пардон, что не сразу ответил, работа. 


по поводу копирования - да, при копировании вручную файл\файлы успешно копируются, запускаю конвертацию, вылазит ошибка "конвертирования структуры файла firebird v2 -> v3!", папка LibaBook3\tmp пустеет.
Я сначала тоже подумал, что дело в доступе, но LibaBook3 заупскается от администратора. Но когда, как вы писали, создал демонстационную БД в LibaBook2 и она вполне себе сконвертировалась - как-то сомнение берет, что дело в доступе.
22.04.2022 15:29
# WarlockRus  PREMIUM  143 10 +0
Сейчас ради интереса сделал обычную (не демо) БД, набил десятком книг - сконвертировалась путем. Отсюда вопрос -как можно проверить старую БД на ошибки и\или их исправить??? 
22.04.2022 15:46
# FreeMind  Модератор  633 368 +0
Ошибка возникает в ф-ции копирования, и до преобразования структуры дело не доходит... Проблема видимо всё-таки с доступом (может какие-то специфические права на какую-то папку в пути "C:\Users\Warlock\Desktop\Мои Книги в.3\Мои книги_db\") или ошибкой жёсткого диска...

Попробуйте в LibaBook2 создать резервную копию проблемной БД. Восстановить её в новую папку и потом сконвертировать в v3.
22.04.2022 16:40
# WarlockRus  PREMIUM  143 10 +1

Похоже разобрался, в чем дело. Проблема не в правах, антивирусе или жестком диске (тут проверял на 2х ПК и ноуте, причем на ноуте Win7 стоит, а не Win10, и везде одна и та же ошибка).


Во второй версии есть такой баг (не знаю, писали о нем или нет) - когда делаешь резервную копию БД, то в конце процесса создания копии программа говорит "копия создана, открыть ее?" И если нажать "открыть", то можно получить ошибку 


I/O error during "CreateFile (open)" operation for file "путь к файлу main.lbbk2 резервной БД"
Error while trying to open file
Не удается найти указанный файл


и соответственно файл не открывается. Такая ошибка появляется, если имя файла lbbk2 исходной БД отличается от main.lbbk2 - при резервном копировании имя файла lbbk2 копируется от исходной БД, а потому файла main.lbbk2 программа не находит.

И, судя по всему, этот баг пришел и в третью версию, потому что как только я переименовал файл  lbbk2 проблемной БД с Мои книги.lbbk2 на main.lbbk2 - база чудесным образом сконвертировалась.


Спасибо большое за ваши советы - без них не факт, что я бы вспомнил про баг с резервной копией.
22.04.2022 21:58
# FreeMind  Модератор  633 368 +0
Вам тоже большое спасибо за подробное описание проблемы и найденного решения!

Что касается "бага", то это не совсем баг, а просто программа так устроена)

Возможно 2 варианта:

1. По аналогии с v1, где БД хранилась в одном файле с любым именем и расширением lbbk, вы вручную переименовали main.lbbk на своё название в БД после конвертирования из v1 в v2. Но, в v2 - БД это уже не только один файл lbbk2, БД - это вся папка с именем, которое задаёт пользователь (и концовкой _db), и с фиксированной структурой внутри, в которой главный файл БД - всегда имеет название main.lbbk2 (хотя возможность открыть lbbk2 с другим именем осталась - по факту в процессе использования программы, рано или поздно это приведёт к ошибкам, как например при резервном копировании о чём вы писали выше)

2. Если вы самостоятельно вручную не переименовывали main.lbbk2 в другое имя, то возможно, это действительно был баг в одной из ранних версий v2 (возможно ещё бетта), когда при конвертировании имя файла lbbk принудительно не изменялось на main.lbbk2 Я честно говоря, тоже особо не помню этот момент (лень искать в логах), но вполне возможно, что благодаря вам (или кому-то ещё) этот баг был действительно исправен в программе, но в вашей БД имя осталось "баговым" отличающимся от main.lbbk2  (ведь кроме ошибки при открытии БД сразу после конвертации других проблем особо не наблюдалось... пока не были использованы соответствующие ф-ции)

Сейчас если БД в v1 имеет название отличное от main.lbbk, то оно корректно конвертируется в v2 с именем main.lbbk2, и соответственно далее при конвертировании в v3 тоже проблем нет (специально протестировал).
22.04.2022 23:27
# WarlockRus  PREMIUM  143 10 +1
В моем случае это скорее второй вариант - я начал пользоваться LB со второй версии. Примерно - в сентябре 2020го, мб чуть раньше. 
В общем еще раз спасибо за помощь и подсказки. 
22.04.2022 16:02
# FreeMind  Модератор  633 368 +0
Вообще с запуском от администратора и от пользователя в винде много проблем возникает, возможно причина как раз в этом... Если БД создавалась под админом, то она должна всегда открываться под админом, иначе виндовс создаёт несколько одинаковых файлов, например main.lbbk2 доступных по одинаковому пути, но с разным содержимым зависящим от прав пользователя...

По идее совет с созданием резервной копии здесь должен помочь, но попробуйте вначале все манипуляции и в LibaBook2 и LibaBook3 выполнить без запуска под админом, если не получится, то те же манипуляции с запуском от админа.

22.04.2022 09:49
# WarlockRus  PREMIUM  143 10 +0
3) Ну и LB2 тоже закрыто.
06.11.2022 22:05
# grey3993  STANDARD  11 0 +0
Друзья у меня такая же проблема при конвертировании, делал как написано у вас ,ничего не получается, всё равно ошибка конвертирования V2 в V3. Help
10.11.2022 09:47
# FreeMind  Модератор  633 368 +0
Данная проблема у некоторых возникает из-за того, что БД создавалась не тем пользователем, который пытается выполнить конвертирование и прав доступа к папке БД нет.

Для проверки наличия прав доступа, попробуйте скопировать вручную файл main.lbbk2 из папки БД которую хотите конвертировать, например, в корень на диск C:.

Если не получится, то запустите LibaBook от имени Администратора Windows и попробуйте выполнить конвертирование.