Skip to content

Embedded User Authentication Error in InterBase 2007

Yesterday, an InterBase user reported the following error which he received when he tried to add Embedded User Authentication to an existing database in InterBase 2007:

In Delphi code, I log in as SYSDBA and open an existing database. I execute the SQL:

ALTER DATABASE ADD ADMIN OPTION

The following exception occurs:

ClassName: "EIBInterBaseError"
Error Message:
"unsuccessful metadata update
STORE RDB$USERS failed"

This ring a bell with me, so I asked him to confirm that the ODS (On-Disk Structure; essentially, the version number of the database file format) of his database indicated that it actually was an InterBase 2007 database. InterBase 2007 does not automatically upgrade older databases to the newest file format; you have to backup and restore the database to accomplish this.

He responded:

The database had been automatically upgraded from InterBase 7, and reported
via the TIBDatabaseInfo properties that the On Disk Structure (ODS) Version
was 11.2′.

I backed up and restored the database and the ODS Version was then reported
as 12.0.

With this version of the database, the exception did not occur.

This tells me that ALTER DATABASE ADD ADMIN OPTION does not work unless the ODS is the latest version available for the current server version. I wish the error message was better, but at least the problem is easy to fix.

Post a Comment

Your email is never published nor shared. Required fields are marked *
Close