Subject Re: [IBO] IBO Admin & Restoring data
Author Helen Borrie

At 10:02 PM 22/11/2005 +0000, you wrote:
>I am working with IBO Admin trying to backup and restore data but am
>getting an exception when I attempt to restore a database (below). I
>downloaded the latest source (Jan 25, 2005) from the web site.
>Any recommendations on how to backup/restore a database in code?
>Ed Dressel
>Debugger Exception Notification
>Project Project1.exe raised exception class EIBOInterBaseError with
>message 'action cancelled by trigger (3) to preserve data integrity
>Cannot deactivate primary index'. Process stopped. Use Step or Run to
>OK Help

That message seems to indicate that you are restoring using the
REPLACE_DATABASE option. I refer to this as the DESTROY_DATABASE
option. So your application is busy destroying the database while you are
connected to it. Don't do this!! In Firebrd 2 you won't be able to
without an explicit (different) command parameter; but in 1.5 you can and
you shouldn't.

So my recommendations for both questions is "Don't". Backing up from an
end-user application is OK; but restoring should be done by a separate,
restricted application and it should restore using the CREATE_DATABASE
option, making an intermediate, off-line version. Someone should test that
the off-line version works. If it does, then take the "live" database
right off-line, rename it and then rename the fresh database to the "live"