Progress
DataServer
for ORACLE Guide
Using the Manual Upgrade Technique
Follow these steps to modify ORACLE tables manually to take advantage of the FIND PREV/LAST statements, cursor repositioning, and arrays. There are two parts to this process: in part A you make changes to your ORACLE database; in Part B you make changes to the schema holder. Part B is required only if you created your schema holder with a DataServer prior to Release 6.3D.
Part A
- Using SQL*Plus, log in as the ORACLE user who owns the table.
- Create a sequence generator for the table named table-name_SEQ. Start with 1 and increment by 1:
- Add a column to the table named progress_recid. This column holds a number that can be null:
- Update the table and set the progress_recid using table-name_SEQ.nextval:
- Create a unique index name, table-name##progress_recid, that consists of just the progress_recid column:
- Drop every non-unique index from the table and recreate it using the same components. Add progress_recid as the last component:
- Verify that the sequence was created:
This statement also verifies that the system table sys.dual exists. Your ORACLE database must have the sys.dual table to support the extended 4GL features. If the sys.dual table does not exist in your ORACLE database, see the “Creating the ORACLE sys.dual Table” section for instructions.
NOTE: If you created your schema holder with a DataServer prior to Release 6.3D, follow the steps in Part B before you connect to ORACLE and update the schema holder.- Connect to ORACLE and use the Progress Data Dictionary’s ORACLE utilities to update the schema holder.
Here’s an example of these SQL*Plus commands for the Customer table in the Progress demo database. The first command creates a sequence for the Customer table. The sequence starts with 1 and increments by 1:
This line adds a column to the Customer table. It names the column progress_recid and declares the data type as NUMBER, where the number can be null:
This command updates the Customer table and sets progress_recid using the sequence value:
This command creates a unique index for the Customer table that consists of progress_recid:
This line drops the name index for the Customer table:
This command creates a new index for customer that uses the same components as the old index, with the addition of progress_recid:
These commands drop the zip index for the Customer table and recreate it with the addition of progress_recid:
Part B
These steps are necessary only if you created your schema holder with a DataServer prior to Release 6.3D.
- Start the Progress Version 6 client and connect to the schema holder only. Do not connect to the ORACLE database.
- Access the Data Dictionary and select Modify
Schema
Modify Existing File.
- Type the filename ORACLE6_COLUMNS and press RETURN.
- Tab to the Hidden attribute and change it to NO. Press GO.
- Choose GoIndex, then add an index to ORACLE6_COLUMNS. Give the index any valid name and select any field. You are creating this index so that you can delete the file ORACLE6_COLUMNS. (The Data Dictionary does not let you delete a file that has no index.)
- Delete the table ORACLE6_COLUMNS.
- Apply the changes and exit the Data Dictionary.
- Enter and run the following procedure:
- Connect to ORACLE and use the Progress Data Dictionary’s ORACLE utilities to update the schema holder.
Now you can run Progress procedures against the ORACLE database and take advantage of the DataServer’s compatibility features, with the exception of case-insensitive indexed fields.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |