Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 Переход FB2.0 -> FB2.5  [new]
sz36
Member

Откуда:
Сообщений: 7
Hi, All!

Перехожу я с FB2.0 на FB2.5. Прочел на ibase.ru, что версии ODS разные, поэтому делаю backup под FB2.0 и рестор под FB2.5. И получаю при ресторе такую ошибку:
Unsuccessful execution caused by an unavailable resource.
cannot add index, index root page is full.
value in SQL dialect 1, but as an exact numeric value in SQL dialect 3.
Exiting before completion due to errors.


Причем, у меня есть четыре не связанных проекта и четыре БД разной структуры и объема. Из четырех БД две, которые поменьше и попроще, перенеслись без ошибок. А на двух других БД, что чуток посложнее, но все равно не слишком велики - такая петрушка, текст ошибки одинаковый. Что это значит и как бороться?
8 апр 19, 13:52    [21855899]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
AltHasp
Member

Откуда:
Сообщений: 97
sz36,

Скорее надо смотреть значение DB Page Size
8 апр 19, 14:25    [21855954]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
sz36
Member

Откуда:
Сообщений: 7
AltHasp
Скорее надо смотреть значение DB Page Size

В одной из двух невосстанавивающихся БД - 4096, в другой - 16384
8 апр 19, 15:59    [21856120]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
sz36
Member

Откуда:
Сообщений: 7
И еще подробность - если перенести метаданные скриптом, а потом и данные тоже скриптом - все работает. Но хотелось бы изыскать более гуманный способ, ибо предстоит ту же операцию проводить и на большой рабочей БД.

Работает (в основном) и подключение напрямую сервера FB2.5 к БД F2.0, но при этом некоторые операции все равно обламываются. Перекомпиляция многих процедур (но не всех), например. Backup/restore в этом варианте обламываются с " index root page is full" в самом начале.
8 апр 19, 16:13    [21856137]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
hvlad
Member

Откуда:
Сообщений: 10245
sz36,

убедись, что при работе с 2.5 используется fbclient.dll и firebird.msg от 2.5 (а не от 2.0)
8 апр 19, 16:21    [21856155]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
sz36
Member

Откуда:
Сообщений: 7
hvlad
убедись, что при работе с 2.5 используется fbclient.dll и firebird.msg от 2.5 (а не от 2.0)


Помогло, спасибо. Использовалась, как выяснилось, gds32.dll. Только я вот не понимаю, если я fbclient.dll положу рядом со своим exe, то gds32.dll, которая в папке Windows лежит, не будет мешать?
8 апр 19, 17:58    [21856326]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29784

08.04.2019 17:58, sz36 пишет:
> я вот не понимаю, если я fbclient.dll положу рядом со своим exe...

а твой ехе умеет грузить именно fbclient.dll, а не gds32.dll ?

Posted via ActualForum NNTP Server 1.5

8 апр 19, 18:03    [21856333]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
hvlad
Member

Откуда:
Сообщений: 10245
sz36
Помогло, спасибо. Использовалась, как выяснилось, gds32.dll.
А как именно помогло-то ? Я намекал на то, что ошибки совсем не те показываются.
Они что, вообще исчезли ? :)

sz36
если я fbclient.dll положу рядом со своим exe, то gds32.dll, которая в папке Windows лежит, не будет мешать?
Зависит от твоего exe
8 апр 19, 18:07    [21856341]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
sz36
Member

Откуда:
Сообщений: 7
hvlad
Я намекал на то, что ошибки совсем не те показываются.
Они что, вообще исчезли ? :)


Ага. Я, собс-но, экспериментировал не на своем exe, а на IBExpert. А там настройка есть, какую клиентскую dll использовать. Раньше я ее никогда не трогал, там дефолтная gds32.dll стояла. И как только я ее на fbclient.dll с правильным путем заменил, все сразу и заработало.
Возможно, что действительно, выдавался неправильный текст ошибки вместо предложения включить опцию -FIX_FSS_D, которую
уже под fbclient.dll IBExpert мне выдал. С другой стороны, судя по логу restore, он обламывался как раз на создании первого индекса. В общем, не знаю, еще буду экспериментировать.

А теперь, после переноса БД под FB2.5, мой exe и через gds32.dll прекрасно работает, так что второй вопрос отпадает. Дело происходит под C++ Bulder, компоненты IBX. А IBX, видимо, про fbclient.dll все равно ничего не знает, и использует только gds32.dll
9 апр 19, 01:15    [21856593]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27915
sz36,

запусти instclient, и получишь нужный gds32.dll из fbclient.dll.
9 апр 19, 10:21    [21856793]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
sz36
Member

Откуда:
Сообщений: 7
kdv
запусти instclient, и получишь нужный gds32.dll из fbclient.dll.


Запустил, но не вижу чтобы что-то поменялось. В Windows\SysWOW64 тот же gds32.dll лежит, что и ранее. Еще 2001 года, видимо от Interbase 6.0. Других gds32.dll в системных папках нет.

instclient что, должен fbclient.dll куда-то скопировать под новым именем?
9 апр 19, 12:24    [21856970]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27915
sz36,

запусти instclient в cmd, он выдаст все возможные опции.
instclient q g
instclient q f
instclient i g
...
9 апр 19, 13:03    [21857021]     Ответить | Цитировать Сообщить модератору
 Re: Переход FB2.0 -> FB2.5  [new]
sz36
Member

Откуда:
Сообщений: 7
kdv
запусти instclient в cmd, он выдаст все возможные опции.

Да, спасибо, разобрался
9 апр 19, 15:50    [21857321]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить