Subject | Re: Error while restoring database |
---|---|
Author | mdjorov |
Post date | 2009-07-23T14:59:42Z |
--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@...> wrote:
And the error occur after the restoring of the indexes.
This is how the log file looks like:
.....
gbak:restoring stored procedure FIX_ALL
gbak:restoring parameter P_SAMPLE_ID for stored procedure
gbak:restoring parameter P_FLAG_IZL for stored procedure
gbak:restoring parameter P_FLAG_FKT for stored procedure
gbak:restoring parameter P_OPR_ID for stored procedure
gbak:restoring parameter P_SKLAD_ID for stored procedure
gbak:restoring parameter P_DATE for stored procedure
gbak:restoring parameter R_RESULT for stored procedure
.....
committing metadata
......
gbak: activating and creating deferred index FK_OLD_IN_EL_OPR_ID
gbak: activating and creating deferred index FK_OLD_IN_EL_SAMPLE_ID
gbak: activating and creating deferred index FK_BARCODE_SAMPLE_ID
gbak: committing metadata
IBE: Invalid token.
invalid request BLR at offset 361.
Input parameter mismatch for procedure FIX_ALL.
IBE: Restore completed. Current time: 17:36:26. Elapsed time: 00:07:21
Firebird 2.1.2 SuperServer WindowsXP SP3
What can be the reason for this error?
>I have got the same error message when I'm restoring a database. But the stored procedure is called only from my Delphi app. Nothing in the database (SP, trigger, check etc.) use this stored procedure.
> At 10:01 AM 7/05/2009, you wrote:
> >Thanks for your answer!
> >
> >> its says input param mismatch for MyStoredProcedure
> >> So it's tleling you that the parameter you declare in MyStoredProcedure
> >> doesn't match the expected use inside the proc.
>
> No, it's not telling you that. Stored procedures are not recompiled at restore time: the "compiled" blr is simply copied as-is. The definitions of input parameters, stored in RDB$PROCEDURE_PARAMETERS, *are* restored.
>
> What I think it's telling you is that you have a view, GTT or COMPUTED BY column somewhere, or a CHECK constraint, that is calling this SP with a parameter that doesn't match (for type or size) the corresponding input parameter definition stored in RDB$PROCEDURE_PARAMETERS. Such a mismatch should not have gotten past the compiler (originally), either; so I think you might well suspect someone has been messing about with system tables - perhaps to try to overrule a disallowed change to a domain.
>
> Use the -v[erify] switch on the restore, with -y to send the output to a file. You should be able to discover the last object that was restored successfully. The problem will have been encountered while restoring the *next* object. (Objects of each kind are restored in alphabetical order.)
>
> ./heLen
>
And the error occur after the restoring of the indexes.
This is how the log file looks like:
.....
gbak:restoring stored procedure FIX_ALL
gbak:restoring parameter P_SAMPLE_ID for stored procedure
gbak:restoring parameter P_FLAG_IZL for stored procedure
gbak:restoring parameter P_FLAG_FKT for stored procedure
gbak:restoring parameter P_OPR_ID for stored procedure
gbak:restoring parameter P_SKLAD_ID for stored procedure
gbak:restoring parameter P_DATE for stored procedure
gbak:restoring parameter R_RESULT for stored procedure
.....
committing metadata
......
gbak: activating and creating deferred index FK_OLD_IN_EL_OPR_ID
gbak: activating and creating deferred index FK_OLD_IN_EL_SAMPLE_ID
gbak: activating and creating deferred index FK_BARCODE_SAMPLE_ID
gbak: committing metadata
IBE: Invalid token.
invalid request BLR at offset 361.
Input parameter mismatch for procedure FIX_ALL.
IBE: Restore completed. Current time: 17:36:26. Elapsed time: 00:07:21
Firebird 2.1.2 SuperServer WindowsXP SP3
What can be the reason for this error?