Consultor Eletrônico



Kbase 21044: Differences in Building ESQL/C 89 and ESQL/C 92 Clients
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/10/2008
Status: Unverified

GOAL:

What are the differences in building ESQL/C SQL-89 and ESQL/C SQL-92 clients?

GOAL:

What are the Differences in Building ESQL/C 89 and ESQL/C 92 Clients?

GOAL:

What are ESQL/C 89 and ESQL/C 92 clients?

GOAL:

What are differences between ESQL/C 89 and ESQL/C 92 clients?

FIX:

It is important to differentiate between ESQL/C in the SQL-89 environment and the SQL-92 environment.


-- SQL-89

In the SQL-89 world, the concepts of large and small clients are important.

The large client model provides a single ESQL client executable that contains both your application code and a complete Progress database client environment.  The large client executable accesses the database like any Progress database client; through database server processes or as a self-service client.

The ESQL small client model separates the large client executable into two components:

a)  The first component is the small client executable that contains
   your ESQL application and Progress client communications modules.
   On Windows, the ESQL application is linked to esql32.lib;
   on UNIX, the application is linked directly to client modules.

b)  The second component is the Open Interface Driver (OID) that runs
   as a Progress database client on behalf of your ESQL application.
   The Open Interface Broker (OIB) brokers the connections to the
   OID.  The OID accesses the database like any Progress database
   client, through database server processes or as a self-service
   client.


-- SQL-92

In the SQL-92 world, large and small clients are gone. We use SQL Server to service ESQL client's request.


Steps to build ESQL/C client in SQL-89:


1)  If required for your operating system, set up your environment
   using PROENV, which is provided with your Progress installation.
   PROENV sets the environment variables for the sqlcpp preprocessor,
   C compiler, and linker.
   
2)  If your ESQL source files contain Progress/ESQL statements,
   preprocess your source files with the sqlcpp preprocessor.

3)  Compile your pure C source files.  This step produces an object
   file for each source file.

4)  Link your ESQL executable.

Use the link script that the PROBUILD utility generates for all ESQL clients, except the Windows small client.

NOTE: To link the Windows small client, use your own linker response file.

Steps to build ESQL/C client in SQL-92:


The ESQL precompiler, esqlc, accepts embedded SQL source files with the filename suffix .pc and generates C Language source files.
A C compiler and linker then process the C source files, creating the application executable.  
You can perform these operations in one step.
The ESQL precompiler invokes the C compiler, which in turn invokes the linker.  Alternatively, you can specify command-line options to perform the operations in multiple steps.