IBM DB2 deferred prepare
The DB2 FGLPROFILE option to control deferred prepare is desupported.
Before Genero 3.20, the DB2 LUW ODI driver was setting the CLI statement attribute
SQL_ATTR_DEFERRED_PREPARE
to SQL_DEFERRED_PREPARE_OFF
or
SQL_DEFERRED_PREPARE_ON
, depending on the db2.prepare.deferred
FGLPROFILE parameter. By default, deferred prepare was disabled by the ODI driver to make BDL
PREPARE
and DECLARE
instructions fail when the SQL statement
contains errors, by forcing the DB2 CLI client library to send the SQL to the server at prepare
time. However, the common practice these days is to improve performances by enabling deferred
prepare, sending the SQL only at execution time (EXECUTE/OPEN/FOREACH
):
dbi.database.mydbname.db2.prepare.deferred = true
Starting with Genero 3.20, the
db2.prepare.deferred
FGLPROFILE option is ignored:
The driver will use the DB2 CLI settings. By default, with DB2 CLI, deferred prepare is ON. If
needed, you can control this feature with the DeferredPrepare
DB2 CLI configuration
setting of the db2cli.ini file:DeferredPrepare = 0