Progress SQL-92 vs. SQL-89 (traditional): Which is right for you?

The Progress SQL-92 engine differs significantly from the traditional ESQL-C-based (SQL-89) engine. Please consult your Progress documentation for more information.

Many circumstances, especially those surrounding the latest Microsoft client technologies such as .NET and Microsoft Access linked tables, warrant that you migrate to the Progress 91SQL (SQL-92 based) OpenLink drivers for Progress. For this reason, along with improved performance and future Progress compliance, OpenLink is currently recommending the SQL-92 based drivers over the traditional drivers to all new evaluators and new customers.

If you are unsure whether the upgrade is right for you, please read through the articles on this site. If you would like further guidance, please open a Technical Support Case on our support site.

Note: Progress 9.x installs a hybrid SQL-89/SQL-92 database engine by default, and supports connections to either, delivering maximum flexibility to the end user. Progress 8.x and earlier only supports connections to the SQL-89 engine, while Progress 10.x and later only support connections to the SQL-92 engine.

Principal Changes Affecting OpenLink driver connections

  • Progress array fields are not supported via the SQL-92 engine the same way they are via the traditional SQL-89 interface drivers. See this article for more information.

  • Due to changes made in the Progress database engine between their SQL-89 and SQL-92 engines, JOIN queries over multiple Progress databases (.db files) cannot be executed over a single ODBC connection when Progress is running in SQL-92 mode. See this article for more information.

  • SQL-92 connections also require a username and password (though the password may be blank). This user name may be an entry in the Progress _User table or in sysprogress, or the name of the Operating System user that created the actual database.

Post-upgrade Notes

  • After you update your OpenLink Multi-Tier server software (to include the SQL-92 Database Agent), you may need to edit your Broker Rulebook, oplrqb.ini, changing the Agent Template, e.g., the [generic_pro91b] stanza, to use the new Agent executable. For instance, this line --

    Program = pro91b_sv

    -- would become this line --

    Program = prs91_sv

    Then, save the file and reinitialize your OpenLink Request Broker. Alternatively, you could preserve the SQL-89 connectivity of the Progress 91B Provider Type, and change the ServerType value in your ODBC DSN to target the new Agent --

    Progress 91SQL

    This will ensure you are connecting via the SQL-92 based Agent.

  • Single-Tier SQL-92 DSN configuration requires that Progress be running in Sockets Mode, and that you know the values for -S, -H, and -N launch parameters. Consult your Progress DBA for this information.