gbak: ERROR: Input parameter mismatch for procedure

Ремонт и восстановление баз данных InterBase, Firebird, Yaffil

Модераторы: kdv, Alexey Kovyazin

Ответить
evgen29
Сообщения: 1
Зарегистрирован: 04 май 2010, 11:31

gbak: ERROR: Input parameter mismatch for procedure

Сообщение evgen29 » 04 май 2010, 11:41

Здравствуйте! Есть firebird 2.1.
Вначале делаю бекап:

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

"E:\Program Files\Firebird\Firebird_2_1\bin\gbak.exe" -b -v -g -se Localhost:service_mgr -user USER -pass PASS -y e:\backup\backuprestore\backup.log e:\base\r_backup.gdb e:\backup\backup.gbk
Он проходит без каких-либо ошибок.

Далее делаю рестор.

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

"E:\Program Files\Firebird\Firebird_2_1\bin\gbak.exe" -r -se Localhost:service_mgr -page_size 8192 -v -user USER -pass PASS -y e:\backup\backuprestore\restore.log e:\backup\backup.gbk e:\base\r_restored.gdb
После рестора из файла .gbk выдает ошибку в логе

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

gbak:    activating and creating deferred index RDB$FOREIGN30
gbak:    committing metadata
gbak: ERROR:invalid request BLR at offset 6722
gbak: ERROR:    Input parameter mismatch for procedure MY_PROCEDURE
gbak:Exiting before completion due to errors
Вопрос:че с этим делать?сразу в gfix -mend лечить или есть еще способы?
Заранее спасибо.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: gbak: ERROR: Input parameter mismatch for procedure

Сообщение kdv » 04 май 2010, 12:20

у Вас в вызываемой процедуре изменены параметры. А в вызывающих ее процедурах остался старый вид вызова.
Поэтому b/r и тем более gfix тут не поможет, Вам надо сначала исправить процедуру, и добиться чтобы проходил бэкап-рестор только метаданных (gbak -m).
читайте
www.ibase.ru/devinfo/db_repair.htm
все же написано.

Ответить