powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird понижение версии БД
13 сообщений из 13, страница 1 из 1
Firebird понижение версии БД
    #39969476
tarakan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, понадобилось опустить версию БД FireBird с 3.0 до 2.5. Самый рабочий вариант оказался взять утилиту gbak от версии 2.5 и ей сделать копию базы 3.0 и восстановить ее на сервер 2.5. Но при ресторе получаю ошибку : ERROR:invalid request BLR at offset 8052; BLR syntax error: expected valid BLR code at offset 8053, encountered 203. При этом восстановление переносит все таблицы, а спотыкается на VIEW.
Все остальные рассмотренные варианты тормозят процесс восстановление на старте и пишут : unsupported on-disk structure for file C:\MyBase.FDB; found 12.0, support 11.2.
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39969479
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tarakanСамый рабочий вариант

....который не работает, ага.

Значит тебе остался только один путь: создавай пустую базу из исходного скрипта и
перекачивай данные, например, IBDataPump-ом. Ссылка на версию, работающую с тройкой должна
быть в закреплённых темах.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39969480
tarakan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за вариант, но .... мне нужно это сделать несколько раз. И каждый раз переливать данные - это будет долго...
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39969481
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, не дольше, чем бэкап-ресторе.
Во-вторых, это быстрее, чем писать на форуме.
В-третьих, ты можешь это заскриптовать, так что на "несколько раз" хватит вызова одного
батника.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39969483
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tarakan
Здравствуйте, понадобилось опустить версию БД FireBird с 3.0 до 2.5. Самый рабочий вариант оказался взять утилиту gbak от версии 2.5 и ей сделать копию базы 3.0 и восстановить ее на сервер 2.5
Это правильно.

tarakan
Но при ресторе получаю ошибку : ERROR:invalid request BLR at offset 8052; BLR syntax error: expected valid BLR code at offset 8053, encountered 203. При этом восстановление переносит все таблицы, а спотыкается на VIEW.
Замени в исходной БД тело этой VIEW на пустое с такими же полями (чтобы зависимости от неё не нарушить).
Затем попробуй ещё раз, можно просто бекап метаданных (ключ -m), рестор как обычно.
Если получилось - повезло, можно делать нормальный бекап и потом после рестора вернуть VIEW обратно.

Если не повезёт - есть более радикальный способ с созданием скрипта всех PSQL объектов (процедуры, триггеры, вьюхи, вычислимые поля и т.п.), удалением этих объектов из исходной БД, бекап\рестор как обычно и накат скрипта для пересоздания PSQL объектов.
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39969485
tarakan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
Замени в исходной БД тело этой VIEW на пустое с такими же полями (чтобы зависимости от неё не нарушить).

Дело в том, что я не знаю на какой именно view он спотыкается, их там 32 штуки.
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39969486
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tarakan
hvlad
Замени в исходной БД тело этой VIEW на пустое с такими же полями (чтобы зависимости от неё не нарушить).

Дело в том, что я не знаю на какой именно view он спотыкается, их там 32 штуки.
Откуда тогда известно, что дело во VIEW ?


PS данная конкретная ошибка возникла из-за использования CASE или DECODE - для них FB3 использует новый BLR код, а FB2.х его не понимает.

PPS так ли уж нужно переходить назад на 2.5 ?
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39969489
tarakan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
Откуда тогда известно, что дело во VIEW ?

После рестора открываю БД, а в ней есть все, кроме VIEW и STORED_PROCEDURE.
hvlad
PPS так ли уж нужно переходить назад на 2.5 ?

Да... нужно... навесили геморой...
hvlad

PS данная конкретная ошибка возникла из-за использования CASE или DECODE - для них FB3 использует новый BLR код, а FB2.х его не понимает

А вот за это разъяснение ОГРОМНОЕ СПАСИБО. Теперь знаю где копать!
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39969496
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tarakan
После рестора открываю БД, а в ней есть все, кроме VIEW и STORED_PROCEDURE.
Если проблема только в этом, то пересоздать их из скрипта - проще простого.
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39969575
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tarakan,

ИМХО,
1) ibeblock (Extract Matadata from OLD_DB, Extract tables into csv file);
2) IbeScript (Recreate metadata on New_DB+Import tables from csv file);
3) В bat-файл передаете как параметр путь и имя старой и новой базы.
Это максисально быстро и времени для создания скрипта понадобится около 10 минут.
Попробуйте.
Удачи!
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39969577
tarakan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо. Очень помогли!
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39970129
sysdba22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
tarakan
Здравствуйте, понадобилось опустить версию БД FireBird с 3.0 до 2.5. Самый рабочий вариант оказался взять утилиту gbak от версии 2.5 и ей сделать копию базы 3.0 и восстановить ее на сервер 2.5
Это правильно.


А 4.0 -> 3.0 тоже так получится? Т.е. берем gbak 3.0 подключаемся к серверу 4.0 делаем бэкап базы и потом восстанавливаем на 3.0?
...
Рейтинг: 0 / 0
Firebird понижение версии БД
    #39970144
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysdba22,

да, должно
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird понижение версии БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]