Preparing to Run Small and Large Client Applications

Before running an ESQL small or large client application, make the following preparations:

For information on compiling 4GL procedures, such as those used for database schema triggers, see the information on the Application Compiler in the Progress Basic Development Tools manual.

The PROPATH for a small client OID or large client executable must contain the pathname(s) where you store any r-code for your application, including compiled schema trigger procedures and precompiled SQL requests. Even if your application includes the SQL Compiler, it cannot recompile and execute SQL requests that have already been precompiled because the text of SQL requests is no longer available after the r-code has been precompiled.

Table 3–1 describes the ESQL startup parameters that provide common execution options for both small and large clients.

Table 3–1: Common ESQL Startup Parameters
Startup Parameter
Description
ESQL Log
(-esqllog)
Sends Progress messages generated for ESQL applications to the database log (.lg) file as well as the message queue for the ESQL-LIB function sqlgetmsg().
ESQL No Padding
(-esqlnopad)
Allows you to specify hyphenated names and language elements without the escape character (\), as in the Progress 4GL. The hyphen is not a valid character for SQL column names because SQL always treats a hyphen as a minus sign. The expression qty-used means “qty minus used” to SQL, whereas Progress evaluates it as a field name, qty-used. To support standard SQL, the SQL scanner assumes the following:
  • A hyphen is a minus sign; if you type qty-used (without the escape character), then qty-used gets blank-padded to qty-used.
  • If you type qty\-used, you are referring to the Progress field (column) name, qty-used.
The -esqlnopad parameter causes the SQL scanner to treat all hyphens as hyphens (as in the Progress 4GL) and requires the application to ensure that minus symbols are blank-padded. This makes constructing queries against databases with hyphenated column names easier.
ANSI SQL
(-Q)
Provides support for ANSI SQL89 Level II requirements, including:
  • All character fields return to your application blank-padded when the output string is shorter than the storage allocated for it.
  • The maximum number of digits to the right of the decimal point increases from 10 to 15.
  • Division by zero in arithmetic expressions returns an error rather than the UNKNOWN value.
The performance of decimal field manipulation degrades significantly when running with this parameter.
ANSI SQL Client
(-Q2)
Sets the environment to conform to rules governing the ANSI SQL89 standard with its guaranteed ability to serialize transactions. This feature is an addition to the -Q startup parameter.
The -Q2 addition allows one client exclusive access to the database. Other connections pend until the active connection completes. Use this ANSI feature only if you need to guarantee serialized SQL transactions in ESQL.
If you want concurrent database access, exclude -Q2 from the SQLLOGIN statement.


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