Database is Damaged Alert

Mixing usage of Panorama X 10.2 (or newer) with Panorama X 10.1 (or earlier) can be problematic. For example, suppose you follow these steps:

- Open database “Mailing List” in Panorama X 10.2 (or later)
- Save database “Mailing List” in Panorama X 10.2
- Open database “Mailing List” in Panorama X 10.1 (or earlier)
- Modify the database “Mailing List” using Panorama X 10.1
- Save database “Mailing List” in Panorama X 10.1
- Open database “Mailing List” in Panorama X 10.2 – fails to open!

After following these steps you will no longer be able to open the Mailing List database with Panorama X 10.2 (or later). When you do, you’ll see an alert saying that the database cannot open because it is damaged.

Fortunately the database isn’t actually damaged, so this problem is easily resolved. To open the database, open the Panorama>Preferences window, switched to the Advanced panel, and un-check the Database Integrity Checks option.

Once this option is disabled, you should be able to open the “Mailing List” file. Once you have saved the database the problem is fixed, and you can re-enable the integrity checking preference. As long as you never open the file again in Panorama X 10.1 (or earlier), the problem will not occur again.

### Why can’t 10.1 and 10.2 be mixed?

When Panorama X 10.2 saves the database to disk, it calculates a checksum for the database. This is like a seal that validates the contents of the file. When you later open the database, Panorama X 10.2 checks to make sure that the file matches the checksum seal. If it doesn’t match, Panorama refuses to open the file and tells you that it is damaged. For example, this could happen if there is a hardware problem with your storage medium (disk drive).

Since it was written years ago, Panorama X 10.1 doesn’t know anything about the checksum that has been saved with the file. When you modify and save the database, the checksum isn’t updated. That’s fine if you only use 10.1. But when you open the database with 10.2 again, it sees the incorrect checksum and refuses to open the file.

You may wonder why this problem doesn’t occur the first time you open a database with 10.2. That’s not a problem because there’s no checksum. Panorama X 10.2 understands that a completely missing checksum doesn’t mean the file is damaged, it simply means that this is an older database that has never been used with Panorama X 10.2 before.

The best solution to this problem is to completely upgrade to 10.2. If you have multiple computers, upgrade all of them at once. (Another solution would be to permanently disable the Database Integrity Checks option on all of your computers running 10.2, but we don’t recommend that.)

To learn more about this topic see Database Integrity Checks.

See Also

- Auxiliary Databases -- automatically opening multiple databases associated with each other.
- closefile -- closes the current database.
- closeserverfile -- closes the current database (used on the server).
- Custom Database Initialization -- using an .Initialize procedure to automatically run custom code when a database opens.
- Database Integrity Checks -- checking database integrity when opening and saving.
- opendatabase -- opens a database file.
- openfile -- opens a database file. It can also import data from a text file, another database, or a variable into the current database.
- opensavedwindows -- opens windows that were open the last time file was saved.
- opensecret -- opens a database invisibly, without opening its windows.
- openserverfile -- opens a database (used on the server).
- opentextfile -- imports data from a text file or a variable into the current database.
- panoramastartupdatabases -- opens any databases specified for startup.
- print -- prints the database.
- printonerecord -- prints the the currently active record.
- revert -- reloads the last saved version of the database from the disk.
- save -- saves the database to disk.
- saveacopyas -- saves a copy of the currently active file under a new name. The original database remains open in memory under its original name.
- saveas -- saves a copy of the currently active file under a new name. The original file remains unchanged.

History

Version | Status | Notes
10.2 | New | New in this version.