Moving database files to other systems

Some of the sections below refer to endian type. If you don’t know what endian type your machine is, see Endian types below.

Moving ISAM database files to an ISAM machine

If the machines have different endian types, you can only transfer files in this manner if your records do not contain integer data. If your records contain integer data, see Using integer data in your records and moving between endian machines below.

Moving files from RMS to ISAM

1. Unload your files to sequential files using isload or CONVERT/FDL.
2. Transfer them to the other machine.
3. Reload the file on the target machine using fconvert (on Windows and Unix) or isload or CONVERT/FDL (on OpenVMS).

Do not use FTP in binary mode on the sequential output files.

Using integer data in your records and moving from ISAM little endian to or from RMS

1. Unload and then reload your files using fconvert (on Windows and Unix) or isload or CONVERT/FDL (on OpenVMS) and counted format on both your source and target machines.
2. Transfer the counted output file in binary mode.

Using integer data in your records and moving between endian machines

You must write the conversion routines yourself. See %CNV_IP and %CNV_PI for subroutines that enable you to convert integer data to portable form and vice versa.

Endian types

Computer systems store integers in either big-endian or little-endian format. For big-endian systems, the low-order byte has the highest address. For little-endian systems, the low-order byte has the lowest address.

Synergy DBL executable programs and libraries can run on any system with the same endian format as the system on which they were built. If your development system and the system you’re porting to have the same endian type, you can use the same executables on both. If one is big endian and the other is little endian, you must re-create your executables on the system you’re porting to.

Database files that contain integer data (including ISAM files) are not portable between big-endian and little-endian machines. You can use the %CNV_IP and %CNV_PI functions to convert the integers in your database files to and from a portable format.

ISAM files that do not contain integer data (and may contain integer keys) are portable between big-endian and little-endian machines. Also (in Synergy DBL version 7 and later), integer data can be made portable with ISAM files. You can define where nonkey integer data resides within a record and have the conversion done automatically from portable to native form on read and write operations.

Synergy DBL version 8.1.5d or higher is required in order for object libraries to be portable between little-endian Unix and Windows systems.

The following table lists the endian types of various systems.

Configuration

Endian type

IBM AIX 32-bit

Big

IBM AIX 64-bit

64-bit Big

Linux 32-bit

Little

Linux 64-bit

64-bit Little

OpenVMS Alpha

Alpha Native Little

OpenVMS IA64 / Itanium

Itanium Native Little

Windows 32-bit

Little

Windows 64-bit

64-bit Little