Migrating to ZIM:X 9.50

Search for answers or browse our knowledge base.

< All Topics
Print

Although Zim Technology has always made the best efforts to keep compatibility between versions, technical evolution is inevitable which leads to building bridges between one existing version to the next introduced version.

A brief history of Zim Technology and its migration possibilities:

  1. Zim versions up to Zim 9.00: these versions may include Zim 4.x, Zim 7.x, Zim 8.20, Zim 8.50, and Zim 9.00. They are distributed by another company and are solely based on 32-bits platforms. According to its proper documentation, old versions can be migrated to newer versions using their own migration tools. If no technical evolution is required, such Zim databases can stay in Zim 9.00 for the time needed or until Zim 9.00 is available;
  2. Zim 9.10 and Zim 9.50 (and upward): these versions are far more modern releases using a true 64-bit platform being produced and distributed by Zim-X Corporation, for Windows, Linux INTEL, Linux ARM, and Androids. The migration from Zim 9.10 to Zim 9.50 is transparent and automatic which only requires running the latest version on top of the previous one. However, the migration to Zim 9.50 from earlier versions like Zim 9.00 does require a more detailed step-by-step process, described below, due to their binary incompatibility and due to the more evolved capabilities of Zim 9.50.

Conventions

. OLD DATABASE: it’s the existing Zim database requiring migration;

. NEW DATABASE: it’s a Zim 9.50 ready to accept the migration from the old database or the one after such migration.

Warning

The migration process is destructive thus requiring you to backup your old database.
For safety reasons, you can make more than one backup. Before the backup, make sure that no users are accessing the database and that ZimServer (if applicable) is no longer running. You must have killed ZimServer with the option “-k” to guarantee data integrity.

A) Migrate your Old Database to at Least Zim 8.50

If your database is not in versions Zim 8.50 or Zim 9.00, you will need to migrate to one of them (whichever is available to you), preferably Zim 9.00. This is a requirement because the differences between very old versions of Zim and Zim 8.5 or Zim 9.00 are big, big enough to make the conversion to Zim 9.50 impossible.

To perform this migration, you will need to follow the instructions provided by these Zim versions and the documentation provided by the distributor.

B) Export Data and Database Definitions From the Old Database

Once your old database is running either Zim 8.50 or Zim 9.00, you will export all database definitions and all data from the old database using the tools and utilities from the corresponding Zim version:

  1. Start ZimServer;
  2. Start a ZimQTC session to get the Zim prompt;
  3. From the prompt, run “ZOMENABLE” to access the ZOM tools;
  4. From the prompt, run “ZOMEXPORT *” to export all database definitions;
  5. From the prompt, run “ZOMDATASAVE *” to export all existing data;
  6. Kill ZimServer using the option “-k”.

To be on the safe side, back up your old database again to guarantee that files created in this process are saved.

C) Clean the Old Database

Certain files need to be deleted (removed) from the old database to make room for the new one:

  1. Remove all files with the name “ZIMxxxx” where “xxxx” ranges from “0000” to “9999”;
  2. Remove the operating system directories identified by “ZIMxxxx.WS”;
  3. Remove the operating system directories identified by “yyyyy” where “yyyyy” ranges from “00001” to “99999”;
  4. Remove the operating system directories named “DCRT” and “DPSRT”.

D) Install ZIM 9.50

Using the ZIM:X Full Installer, perform its installation on your computer following the installer guidelines.

E) Start ZimServer

After Zim 9.50 was installed, start ZimServer.

F) Create the New Database

Using the administrative tool ZimAdmin, you are going to create (initialize) the new database. From this point on, this database is going to be referred to as the “New Database”.

  1. Run ZimAdmin;
  2. Right-click on “Zim Servers”, select “Add Server…” and then click OK on the Add Server dialog box;
  3. Click on the just added server (usually “localhost:6002”) and click OK on the Login Form. A (+) will appear on the left of the server;
  4. Expand the (+) and right-click on “Databases” to “Create a Database”;
  5. Provide a database name, a database path (it MUST be one you just cleaned), and a database number. Click “Create”;
  6. Once you get a confirmation message, you are ready to go to the next step.

G) Import the New Database Definitions

This step will import all database definitions to the new database:

  1. Start ZIMQTC on the new database;
  2. Run “ZOMENABLE”;
  3. Run “ZOMIMPORT” to import all database definitions.

Should errors arise during the import, carefully inspect these errors and decide:

  1. The errors need to be corrected immediately: In this case, you will have to restore the database backup, correct the errors and then repeat steps B, C, E, F, G, and H;
  2. If the errors are minor or could be ignored for the moment, proceed to the next step.

H) Import all Database Data

Run the following steps after importing the database definitions:

  1. Copy (save) the operating system directory “ZOMSAVING” to “ZOMSAVING.SAVE” which is located in the database. This copy is important; otherwise, the database data will not be imported;
  2. Run “ZOMDATASAVE *” to create the structure to load the data. It will process zero records for all entity sets;
  3. Remove the operating system directory “ZOMSAVING”;
  4. Copy back the saved directory “ZOMSAVING.SAVE” to “ZOMSAVING”;
  5. Run “ZOMDATALOAD *” to import the database data.

Warning: Zim versions up to Zim 9.00 weren’t able to correctly export data. In particular, the presence of new lines in the middle of text fields would produce errors and omissions. These errors need to be investigated and, probably, the new lines fixed before exporting the data in step E.

Another potential error is the inability to recognize entity sets per user which leads to import errors. There is no sense in exporting and exporting data from entity sets per user and these errors can be ignored safely.

I) Final Checks

The migration process to ZIM 9.50 is now completed. You may still perform the following tasks:

  1. Stop ZIMSERVER with the option -k;
  2. Make a backup of your new database;
  3. Start ZIMSERVER again along with ZIMQTC;
  4. Compile your ZIM programs if applicable;
  5. Check your data and your database definitions;
  6. Run your application.
Was this article helpful?
0 out of 5 stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
Please submit the reason for your vote so that we can improve the article.

Leave a Reply

Your email address will not be published. Required fields are marked *

en_CAEnglish