I have written a simple DB2 program that I'd like to run from Batch. I'm on IBM's Dallas service so I have a limited access to certain datasets. I have the program pre-compile, compile, pre-linking, linking and binding all with return code zeros.
But when I try to RUN I get a -904 indicating that the resource is unavailable because the package is in a non-executable state. Since the BIND output all says it completed successfully I must be misspecifying something. Here's the error SQLCODE=446704536 -904 DSNT408I SQLCODE = -904, ERROR: UNSUCCESSFUL EXECUTION CAUSED BY AN UNAVAILABLE RESOURCE. REASON 00E30305, TYPE OF RESOURCE 00000801, AND RESOURCE NAME DB2ZP.ZPDB2.1A320A2A009C519E DSNT418I SQLSTATE = 57011 SQLSTATE RETURN CODE DSNT415I SQLERRP = DSNXEAAL SQL PROCEDURE DETECTING ERROR DSNT416I SQLERRD = -160 0 0 -1 0 0 SQL DIAGNOSTIC INFORMATION DSNT416I SQLERRD = X'FFFFFF60' X'00000000' X'00000000' X'FFFFFFFF' X'00000000' X'00000000' SQL DIAGNOSTIC INFORMATION These are the run statements DSN SYSTEM(DBAG) RUN PROGRAM(ZPDB2) PLAN(DB2ZP) - LIB('JIG.BASE710.LOAD') END Here's the bind output READY DSN SYSTEM(DBAG) DSN BIND PACKAGE(DB2ZP) MEMBER(ZPDB2) ACT(REP) ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC) DSNT254I -DBAG DSNTBCM2 BIND OPTIONS FOR PACKAGE = DALLASA.DB2ZP.ZPDB2.() ACTION REPLACE OWNER JIG QUALIFIER JIG VALIDATE RUN EXPLAIN NO ISOLATION CS RELEASE COPY APREUSE APCOMPARE APRETAINDUP QUERYACCELERATION GETACCELARCHIVE DSNT255I -DBAG DSNTBCM2 BIND OPTIONS FOR PACKAGE = DALLASA.DB2ZP.ZPDB2.() SQLERROR NOPACKAGE CURRENTDATA YES DEGREE 1 DYNAMICRULES DEFER NOREOPT VARS KEEPDYNAMIC NO IMMEDWRITE INHERITFROMPLAN DBPROTOCOL DRDA OPTHINT ENCODING EBCDIC(01047) PLANMGMT OFF PLANMGMTSCOPE STATIC CONCURRENTACCESSRESOLUTION EXTENDEDINDICATOR PATH DSNT232I -DBAG SUCCESSFUL BIND FOR PACKAGE = DALLASA.DB2ZP.ZPDB2.() DSN BIND PLAN(DB2ZP) PKLIST(DB2ZP.*) ACT(REP) ISO(CS) CURRENTDATA(YES) ENCODING(EBCDIC) DSNT252I -DBAG DSNTBCM1 BIND OPTIONS FOR PLAN DB2ZP ACTION REPLACE OWNER JIG VALIDATE RUN ISOLATION CS ACQUIRE USE RELEASE COMMIT EXPLAIN NO DYNAMICRULES RUN DSNT253I -DBAG DSNTBCM1 BIND OPTIONS FOR PLAN DB2ZP NODEFER PREPARE CACHESIZE 3072 QUALIFIER JIG 1 CURRENTSERVER CURRENTDATA YES DEGREE 1 SQLRULES DB2 DISCONNECT EXPLICIT NOREOPT VARS KEEPDYNAMIC NO IMMEDWRITE NO DBPROTOCOL DRDA OPTHINT ENCODING EBCDIC(01047) CONCURRENTACCESSRESOLUTION PATH DSNT200I -DBAG BIND FOR PLAN DB2ZP SUCCESSFUL DSN RUN PROGRAM(DSNTIAD) PLAN(DSNTIA10) LIB('DSNA10.DBAG.RUNLIB.LOAD') DSN END READY END And the CREATE TABLE statements I run through DSNTIAD during the bind step DSNTIAD - SAMPLE DYNAMIC SQL PROGRAM 2.0 DROP TABLE JIG.TESTDB2 DSNT400I SQLCODE = 000, SUCCESSFUL EXECUTION CREATE TABLE JIG.TESTDB2 (MYAUTO CHAR(16) FIELDPROC VSHFPX01 ('CRYPTID=@WAGA@MYAUTO'), MYCCN CHAR(16) FIELDPROC VSHFPX01 ('CRYPTID=@WAGA@MYCCN'), MYSSN CHAR(11) FIELDPROC VSHFPX01 ('CRYPTID=@WAGA@MYSSN'), MYSST CHAR(16) FIELDPROC VSHFPX01 ('CRYPTID=@WAGA@MYSST')) IN VOLTTEST.VOLTTAB DSNT400I SQLCODE = 000, SUCCESSFUL EXECUTION DROP TABLE JIG.TESTDB22 DSNT400I SQLCODE = 000, SUCCESSFUL EXECUTION CREATE TABLE JIG.TESTDB22 (MYAUTO CHAR(16), MYCCN CHAR(16), MYSSN CHAR(11), MYSST CHAR(16)) IN VOLTTEST.VOLTTAB DSNT400I SQLCODE = 000, SUCCESSFUL EXECUTION FWIW the RUNLIB is owned by IBM Dallas and has no free space so I can't put my load library in DSNA10.DBAG.DBRMLIB.LOAD. Likewise with the DBRMLIB at DSNA10.DBAG.DBRMLIB.DATA. Instead I am attempting to use my own datasets. What am I missing? Janet ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN