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 [email protected] with the message: INFO IBM-MAIN
