When the message "“Database is not correct for this version of software [X]”" is encountered.
A copy of software, V6.50, can’t read a database that was created in V6.56 because the database is too new.
When a database is being created, the software references a file in the software directory called CFRScript.SQL that is basically the blueprint for how the database is built. When Richard updates the database structure (this is rare, but happens on occasion), he changes a value in the CFRScript.SQL called VERSION. So the database version is basically a number that is encoded into the database when it is first created.
Theoretically, new versions of software can read all older types of databases, but older versions of software cannot read newer databases, because they won’t necessarily understand new structures. (For example, a new table was added in 6.53 that supported passwords aging and needing to be re-set).
In practice, older versions of software have no problem with newer databases. However, each build of software has a version hard coded into it: I can read up to this number database (or in the case of drug studies, ONLY this number).
How to fix:
Cannot emphasize this enough:
BACK UP THE DATABASE FIRST.
(Stuart, the beginning of this – creating a new host – is stuff you’ve already done, since you’ve moved tests between protocols before. Just doubleclick on localhost to connect to it).
- Step one is to back up your database. Make sure your backup is in a secure location. You can do this by opening the software, pressing Database Center, then Backup. Ideally backups are located on an external drive/directory. (Important note - We will be using square brackets in these instructions to indicate where a value must be supplied. IGNORE THESE BRACKETS. If you see them in formulas, omit them when supplying your own values.)
- Step two - navigate to C:\Multifocal\Firebird and Utilities. (If you are using an earlier version of the software, it will be in the C:\Espion V5\firebird directory). Doubleclick on IBManager.exe to open it. (If this is the first time you're opening this, and it should be, it'll likely pop up with a question about how you want to view things. Keep everything as the default and press Okay.)
- Step three - up at the upper left, click the Database menu, then click Register Host. Under the password field, type masterkey but keep everything else as is. Press Next. Press Finish. Up at the upper left, you should see a little grey icon of a computer appear, next to the word localhost. Doubleclick on the computer to connect to localhost. The computer icon should become colored and a Users subfolder should appear.
- Step four - click the Database menu again, then click Register Database. Press Next. Press Next. Up at the top, where it says Database Name, click on the Browse icon and navigate to the database you want to make backwards compatible (if you're not sure, you can find out the name and location of your database by reopening the Espion software and pressing Database Center. This will list the name and location of your database). Once you've done this, press Finish. Now under localhost you should see a little grey can that says [DATABASENAME] on localhost. Doubleclick on [DATABASENAME] and the grey can will turn gold and a bunch of folders will show up. Much like this:
- Step five – doubleclick on Procedures and then Version.
- On the right, where it says OVERSION=XX, change the value to the new desired value. (Version 6.50 wants version 9, for example)
- Once you’ve changed the version number, press Execute in the middle pane
- When the prompt appears, press Commit
- You will probably get an error message. That’s fine! You can ignore it! You’re done, and you can use the database on a 6.50 machine now.