Updating a deployed schema holder

The guidelines and techniques that apply to deploying an OpenEdge database also apply to deploying a schema holder for a MS SQL Server database. However, if you make any changes to the data source schema, make sure to update its schema holder. There are two techniques for updating a deployed schema holder:

  • Allow your users to use the DataServer Update/Add Table Definitions utility.
  • Send a new data definition file for the schema holder. Your users can use the DataServer Delete Schema utility to empty the original schema holder. They can then load the new data-definition file into the schema holder.

To update a deployed DataServer application:

  1. Run an SQL script to make changes to the MS SQL Server database.
  2. Run the Update/Add Table Definitions utility on one schema holder.
  3. Recompile code against the updated schema holder to build new r-code.
  4. Send out copies of the new .r files to your users.
  5. Distribute copies of the new schema holder .db and .bi files to your users. You must use the PROCOPY utility to distribute them.
Note: A schema holder contains data definition information for one or more databases, which consists of database structure, such as tables, fields, indexes, stored procedures, and other objects. The connection information, like database name and Data Source Name (DSN), is used in the creation and configuration of the schema holder. Modifications to this connection information can also affect the configuration of several schema holder objects. Simply providing different connection details during the connection process does not refresh the schema holder with the new information; instead, the schema holder retains the existing data definitions.
For example, the schema holder constructs the sequences within a dumped .df file with a database named Database1 as follows:
  • SEQ-MISC3 Database1
  • SEQ-MISC4 Database1

When restoring the database from a backup or creating a new database with a different name, for example, Database2, and loading the schema holder, the original database name Database1 persists, potentially causing code execution failures. This behavior aligns with the design and is expected.

Therefore, Progress recommends that you either re-pull the schema or modify and reload the .df file for schema changes. Ensure that you carefully modify the .df file to prevent any undesired behavior.