Progress
DataServer
for ORACLE Guide


Arrays

The DataServer supports arrays, which are also called field extents. When you create a schema image for an ORACLE database, Progress interprets a number of specially named ORACLE columns of the same data type as a single Progress field with the same number of extents. You name the ORACLE columns column-name##1, column-name ##2, etc. A single field definition is created in the schema image for the field extent.

Modifying Tables to Support Arrays

The DataServer allows you to extend Progress’s ability to support database arrays to your ORACLE database. To have access to this functionality, you must make the following changes to your ORACLE database table:

  1. Name the columns of an ORACLE database table that you want the DataServer to include in an array column-name##1, column-name##2, etc. The columns must be adjacent and in sequence.
  2. Make sure that these columns are of the same data type.
  3. For example, if you want the schema image to include an array named MONTH with 12 elements, the ORACLE table must have 12 adjacent columns of the same data type named MONTH##1, MONTH##2, MONTH##3, etc. Progress names the corresponding field in the schema image MONTH. In your applications, refer to each element of the array as MONTH[1], MONTH[2], MONTH[3], etc.

    In addition to making the columns for each element the same data type,you must also make them the same length. Otherwise you receive the error message, “Schema holder does not match database schema — file filename field/column-name##1. (1461).”

  4. If you have already created your schema image, use the DataServer utilities to update your schema image so that it reflects the changes you made to the ORACLE table. See "The DataServer Tutorial," for instructions on updating a schema image.

When you use the Progress-to-ORACLE migration utility, Progress automatically modifies ORACLE data definitions to support arrays. For example, if your Progress database has an array named MONTH with 12 elements, the utility creates 12 columns named MONTH##1, MONTH##2, etc. in the ORACLE table.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095