Why am I getting a -812 on my Easytrieve compile?

book

Article ID: 15289

calendar_today

Updated On:

Products

CA PanAudit Plus CA Easytrieve Report Generator CA PAN/SQL

Issue/Introduction

Upgrading to DB2v10 doing a Bind Plan



Why am I getting a -812 recompiling an Easytrieve program that has SQL code?

Environment

DB2v10, doing a Bind Package, and a Bind Plan.

Resolution

The Bind syntax for the PLAN that results in the SQLCODE -812 is:
BIND PLAN(DOETPC1) PKLIST(*.DONOCOL) -
DEGREE(1) VALIDATE(BIND) ISOLATION(CS) -
FLAG(E) CURRENTDATA(NO) RELEASE(COMMIT) -
RETAIN CACHESIZE(0) ACQUIRE(USE) -
EXPLAIN(NO) ACTION(REPLACE)

The Bind syntax for the PLAN that results in clean run is:
BIND PLAN(DOETPC1) PKLIST(*.DONOCOL.*) -
DEGREE(1) VALIDATE(BIND) ISOLATION(CS) -
FLAG(E) CURRENTDATA(NO) RELEASE(COMMIT) -
RETAIN CACHESIZE(0) ACQUIRE(USE) -
EXPLAIN(NO) ACTION(REPLACE)

Additional Information

The difference is very slight - PKLIST(*.collid) results in SQL -812 Execution. PKLIST(*.collid.*) results in clean run.

What a difference an additional '*' makes!