Страница 1 из 1

gbak: ERROR: Input parameter mismatch for procedure

Добавлено: 04 май 2010, 11:41
evgen29
Здравствуйте! Есть 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 лечить или есть еще способы?
Заранее спасибо.

Re: gbak: ERROR: Input parameter mismatch for procedure

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