The Adapter as an RDBMS Application

In this section:

Each relational adapter is an RDBMS application. The particular RDBMS determines how its adapter is implemented.


Top of page

x
Implementing the Adapter for DB2 as an RDBMS Application

The adapter functions as an RDBMS application that normally executes dynamic SQL. As such, it must be registered with the RDBMS in the same way as any other application.

All applications that access DB2 tables on z/OS go through a precompile procedure prior to normal compilation. The precompiler copies all of the SQL statements from the application into a separate module called a Database Request Module (DBRM). It also modifies the original application program by transforming its SQL statements into comments and replacing them with calls to the DBRM. The modified application program can then go through the usual process for creating an executable load module.

The SQL statements from the original application program must also be made executable. The DBRM undergoes its own compilation and optimization process called a bind. The bind optimizes the SQL code, performs security checking, and determines the most efficient access path to the required data (the access path identifies available resources, such as specific indexes and scan methodologies for traversing the data source). The result of the bind is called an application plan or an application package.

The bind procedure used with the adapter binds separate DBRMs into small application packages, which you then bind into a special type of application plan that consists of pointers to each application package. The advantage of this is that you can re-bind individual packages without having to re-bind the entire application plan. In a distributed database environment, application packages are essential.

During execution, the program load module works in conjunction with the application plan or access module under control of the RDBMS.

The following diagram illustrates the process of preparing an application for execution:

You can use either dynamic or static SQL in MODIFY requests. Dynamic SQL is the default for the adapter. However, even to use static SQL, you must have the adapter installed. The choice of dynamic or static SQL has the following effects on compilation and bind processing:


Top of page

x
Implementing the Adapter for Teradata as an RDBMS Application

The Adapter for Teradata is an application program that contains dynamic SQL only. No preprocessing is required when installing the adapter. The Adapter for Teradata is delivered as a load library. On z/OS, you must link-edit it with the Teradata libraries.

The Teradata RDBMS and data sources reside on a UNIX box. The adapter communicates with the Teradata RDBMS on UNIX using the Teradata Director Program (TDP) communicating across a Block Multiplexor Channel. The communications link between your address space and the Teradata Director Program (TDP) is implemented with either z/OS XMS (Cross Memory Services) or Supervisor Call (SVC). Your systems programming group determines the type of link during Teradata installation.

The following diagram illustrates this configuration:


Top of page

x
Implementing the Adapter for IDMS/SQL as an RDBMS Application

The Adapter for IDMS/SQL is an application program that contains dynamic SQL only. No preprocessing is required when installing the adapter. The Adapter for IDMS/SQL is delivered as a fully executable load module.


Top of page

x
Implementing the Adapter for Oracle as an RDBMS Application

The Adapter for Oracle is an application program that contains dynamic SQL only. No preprocessing is required when installing the adapter.


Information Builders