OpenEdge

Note: As OpenEdge is no longer bundled, it now aligns with other supported databases. To utilize an existing OpenEdge database, you must have the OpenEdge Enterprise RDBMS package installed.

When using OpenEdge database with Platform, Infinite Blue recommends that you become familiar with the physical storage structures of your Rollbase OpenEdge RDBMS instance and the many configuration parameters for the database. This helps you to ensure an optimal performance of your Platform applications and reliability of its data. To learn about OpenEdge database, see the OpenEdge Getting Started: Database Essentials and OpenEdge Data Management: Database Administration manuals in your OpenEdge documentation set. Additionally, if you need assistance with OpenEdge database management or administration tasks, you can contact Progress professional services or one of the third-party Progress consulting partners.

Use the OpenEdge proenv utility to execute a script provided by Platform. This creates the following:

  • A database and the following related artifacts in a specified folder inside your OpenEdge Work directory
    • A structure definition file
    • A configuration parameter file
    • A database with a transaction log and data extents for four areas
  • A startdb.bat or startdb.sh script to start the database
  • A stopdb.bat or stopdb.sh script to stop the database
  • An account for the specified user with the specified password
Reviewers: these procedures will be tested and modified if necessary.

Note: OpenEdge has a variable length VARCHAR data type but SQL does not. Therefore, the OpenEdge Data Dictionary definition of a VARCHAR(10) field can hold 1, 5, 10, 100, 1000, etc. characters. OpenEdge's ABL can read or write any sized string, but an attempt to access this with SQL produces an error if the data is greater than 10 characters. Therefore, you should set the character value of (N) large enough to prevent such errors.

Preparing an existing OpenEdge instance to work with Platform

To configure the OpenEdge database for Platform:

  1. Start up the Progress environment using the proenv utility, which is available from the OpenEdge bin directory or on Windows systems, from the Start Menu under All Programs > Progress > OpenEdge <version>.
  2. Navigate to the Platform sql directory that contains the create_oedb script. This directory also contains the create_oe.sql script.
  3. Using the proenv utility, execute create_oedb.bat on Windows systems or create_oedb.sh on Linux systems. This will create the Platform schema and database. The create_oedb script takes the following arguments:
    • -dbnamedbname: The database name, which defaults to rbdb
    • -portportnumber: The database port number, which defaults to 8911
    • -userusername -- The username, which defaults to dbadmin
    • -pwdpassword: The password, which defaults to dbadmin
    • -scriptfilepath: Full path to the SQL script file that creates Platform schema for OpenEdge The default value is create_oe.sql, which is found in the same folder as this script.
    • -dbhomehomefolder: The folder inside the WRK directory where the Platform database is created. The default value is oe_rollbase_db. For example:
      proenv > create_oedb.bat -dbname oe_rbdb -port 9911 
         -user rbadmin -pwd mypwd 

      Upon successful completion, you should see output similar to the following:

      Database home is "C:\\OpenEdge\WRK\oe_rollbase_db"
         Setup for database oe_rbdb COMPLETED OK
         11-12-2013  11:34:51.38

      You can use the command proenv> create_oedb.bat -h to display the usage information for the script's arguments.

  4. Modify the Platform configuration file as described in Edit node-config.json.
Note: When you congifure an existing OpenEdge database, you must convert it into an UTF-8 database to make it compatible with Platform. To know more about converting OpenEdge to UTF-8 database, refer solution mentioned here: https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvint/using-unicode-with-openedge-databases.html.