Browse Prior Art Database

Preprocessing SQL Applications without Using Source Code

IP.com Disclosure Number: IPCOM000105352D
Original Publication Date: 1993-Jul-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 86K

Publishing Venue

IBM

Related People

Kligerman, G: AUTHOR [+2]

Abstract

Disclosed is a method that allows, after a package is created for the first time (from source program via existing preprocessing mechanisms), preprocessing of this application against like and unlike databases without need for its source code.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Preprocessing SQL Applications without Using Source Code

      Disclosed is a method that allows, after a package is created
for the first time (from source program via existing preprocessing
mechanisms), preprocessing of this application against like and
unlike databases without need for its source code.

      SQL application programs are written in various languages
(e.g., PLI, COBOL) and contain embedded SQL statements.  Before
programs can be compiled, a special preprocessor program must be
executed on time.

Preprocessor has a dual purpose:

1.  It produces a modified source program, commenting out SQL
    statements (that are meaningless to a compiler) and replacing
    them with program statements that define parameters to and then
    invoke special application-to-database services.

2.  Processor communicates with an SQL database in order to exchange
    some information about the application.  The database stores the
    information about the SQL services required by the application
    and authorizations required to execute the application.  The
    database may also create an Access Plan that is used by the
    database during application execution to get the most efficient
    access to SQL data.  The object within the database that contains
    all this information about the application is called a Package.

     In the past, in order to make an existing SQL application
execute against multiple databases, two options were available:

1.  The application is preprocessed against every database.  This is
    not only time consuming but also requires that source code be
    available for preprocessor to execute against.

2.  A database (e.g. SQL/DS*) may have facilities to unload a Package
    to a user specified file and then to reload it to another
    database.  This option, however, is limited only to like
    databases because different types of databases store the
    preprocessed information in different internal formats.
    Consequently, it is not possible to transfer Packages between
    unlike databases (e.g. SQL/DS, DB2*, and OS/2* Database Manager).

     This disclosure recognizes that the SQL application program and
the information collected by an SQL database during preprocessing are
two distinct entities.

      DRDA (Distributed Relational Database Archite...