Author Topic: ODBC IVP on z/OS  (Read 6143 times)

Ed_Arnold

  • Hero Member
  • *****
  • Posts: 1199
    • View Profile
ODBC IVP on z/OS
« on: May 25, 2011, 09:29:36 AM »
ODBC is rather key to CMOD.   ;)

DB2 ships a sample IVP to verify ODBC, SDSNSAMP(DSNTEJ8E).

1. I'm using two datasets for the compile output and to execute:

Command - Enter "/" to select action                 Dsorg  Recfm  Lrecl  Blksz
-------------------------------------------------------------------------------
         ODV733.USER.RUNLIB.LOAD                      PO-E  U          0  32760
         ODV733.USER.RUNLIB.OBJ                       PO-E  FB        80   3200

2. This is my DSNAOINI member:

VIEW       ODV733.PRIVATE.SDSNSAMP(DSNAOINI) - 01.02       
Command ===>                                               
****** ***************************** Top of Data **********
000001 ; This is a comment line...                         
000002 ; Example COMMON stanza                             
000003 ?COMMON?                                           
000004 MVSDEFAULTSSID=DB1X                                 
000005                                                     
000006 ; Example SUBSYSTEM stanza for V81A subsystem       
000007 ?V81A?                                             
000008 MVSATTACHTYPE=CAF                                   
000009 PLANNAME=DSNACLI                                   
000010                                                     
000011 ; Example DATA SOURCE stanza for STLEC3 data source
000012 ?STLEC3?                                           
000013 AUTOCOMMIT=0                                       
000014 OPTIMIZEFORNROWS=100                               
000015                                                     
000016 ; Example DATA SOURCE stanza for STLEC4 data source
000017 ?STLEC4?                                           
000018 TXNISOLATION=8                                     
000019                                                     



Here's my actual job:

//  JOBCARD
//*  Name = DSNTEJ8E                             
//*                                               
//*  Descriptive Name =                           
//*    DB2/ODBC Sample Application JCL           
//*    64-bit C/C++ Application                   
//*  (lots more words here in job in SDSNSAMP)
//*---------------------------------------------------------------
//*  COMPILE STEP:                                               
//*---------------------------------------------------------------
//COMPILE EXEC PGM=CCNDRVR,REGION=48M,                           
//    PARM=('/CXX OPTFILE(DD:CCOPT)')                             
//STEPLIB  DD  DSN=CEE.SCEERUN2,DISP=SHR                         
//         DD  DSN=CEE.SCEERUN,DISP=SHR                           
//         DD  DSN=CBC.SCCNCMP,DISP=SHR                           
//SYSIN    DD  DSN=DSN.DB2VA10.SDSNSAMP(DSN8O3VP),DISP=SHR  <<< note:  DB2/ODBC 3.0 driver     
//*YSIN    DD  DSN=DSN.DB2VA10.SDSNSAMP(DSN8OIVP),DISP=SHR   <<< note:  older ODBC driver...I try both       
//SYSLIN   DD  DSN=ODV733.USER.RUNLIB.OBJ(DSN8O3VP),DISP=SHR, <<< change this line to match which IVP you're running     
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)               
//SYSPRINT DD  SYSOUT=*                                           
//SYSOUT   DD  SYSOUT=*                                           
//SYSCPRT  DD  SYSOUT=*                                           
//CCOPT    DD  *                                                 
  LSEARCH(//'ODV733.USER.RUNLIB.OBJ.+')                           
  SEARCH(//'CEE.SCEEH.+',//'CBC.SCLBH.+',//'DSN.DB2VA10.SDSNC.+')
  LIST                                                           
  SOURCE                                                         
  LONG                                                           
  LP64                                                           
  FLOAT(HEX)                                                     
  WARN64                                                         
//*                                                               
//*-------------------------------------------------------------
//*  BIND STEP:                                                 
//*-------------------------------------------------------------
//BIND   EXEC PGM=IEWL,REGION=20M,COND=(8,LE,COMPILE),         
//   PARM=('MAP,RENT,DYNAM=DLL,CASE=MIXED,COMPAT=CURR',         
//         'LIST=NOIMP,RMODE=ANY,AMODE=64')                     
//STEPLIB  DD  DSN=CEE.SCEERUN2,DISP=SHR                       
//         DD  DSN=CEE.SCEERUN,DISP=SHR                         
//SYSLIB   DD  DSN=CEE.SCEEBND2,DISP=SHR                       
//SYSPRINT DD  SYSOUT=*                                         
//SYSLIN   DD  DSN=ODV733.USER.RUNLIB.OBJ(DSN8O3VP),DISP=SHR   
//         DD  DSN=CEE.SCEELIB(CELQSCPP),DISP=SHR               
//         DD  DSN=CEE.SCEELIB(CELQS003),DISP=SHR               
//         DD  DSN=CEE.SCEELIB(C64),DISP=SHR                   
//         DD  DSN=CBC.SCLBSID(IOSX64),DISP=SHR                 
//         DD  DSN=DSN.DB2VA10.SDSNMACS(DSNAO64C),DISP=SHR     
//         DD  DDNAME=SYSIN                                     
//SYSLMOD  DD  DSN=ODV733.USER.RUNLIB.LOAD(DSN8O3VP),DISP=SHR   
//SYSDEFSD DD  DUMMY                                           
//SYSIN    DD  DUMMY                                           
//*---------------------------------------------------------
//* GO STEP:                                               
//*---------------------------------------------------------
//GO     EXEC PGM=DSN8O3VP,REGION=2048K,                   
//    COND=((8,LT,COMPILE),(8,LE,BIND))                     
//STEPLIB  DD  DSN=ODV733.USER.RUNLIB.LOAD,DISP=SHR         
//         DD  DSN=DSN.DB2VA10.SDSNLOD2,DISP=SHR           
//         DD  DSN=DSN.DB2VA10.SDSNEXIT,DISP=SHR           
//         DD  DSN=DSN.DB2VA10.SDSNLOAD,DISP=SHR           
//         DD  DSN=CEE.SCEERUN2,DISP=SHR                   
//         DD  DSN=CEE.SCEERUN,DISP=SHR                     
//         DD  DSN=CBC.SCLBDLL,DISP=SHR                     
//         DD  DSN=CBC.SCLBDLL2,DISP=SHR                   
//SYSPRINT DD  SYSOUT=*                                     
//CEEDUMP  DD  SYSOUT=*                                     
//DSNAOINI DD DISP=SHR,DSN=ODV733.PRIVATE.SDSNSAMP(DSNAOINI)
/*     


The SYSPRINT output looks like this:

********************************* TOP OF DATA ***************
DSN8O3VP INITIALIZATION                                     
DSN8O3VP SQLAllocHandle-Environment                         
DSN8O3VP-henv=1                                             
DSN8O3VP SQLAllocHandle-Connection                           
DSN8O3VP-hdbc=1                                             
DSN8O3VP SQLConnect                                         
DSN8O3VP successfully issued a SQLconnect                   
DSN8O3VP SQLAllocHandle-Statement                           
DSN8O3VP hstmt=1                                             
DSN8O3VP successfully issued a SQLAllocStmt                 
DSN8O3VP SQLExecDirect                                       
DSN8O3VP sqlstmt=SELECT * FROM SYSIBM.SYSDUMMY1             
DSN8O3VP successfully issued a SQLExecDirect                 
DSN8O3VP SQLFetch                                           
DSN8O3VP successfully issued a SQLFetch                     
DSN8O3VP SQLEndTran-Commit                                   
DSN8O3VP successfully issued a SQLTransact                   
DSN8O3VP SQLFreeHandle-Statement                             
DSN8O3VP successfully issued a SQLFreeStmt                   
DSN8O3VP SQLDisconnect                                       
DSN8O3VP successfully issued a SQLDisconnect                 
DSN8O3VP SQLFreeHandle-Connection                           
DSN8O3VP successfully issued a SQLFreeConnect               
DSN8O3VP SQLFreeHandle-Environment                           
DSN8O3VP successfully issued a SQLFreeEnv                   
DSN8O3VP pgmend: Ending sample                       
DSN8O3VP Execution was SUCCESSFUL                   
******************************** BOTTOM OF DATA *****                                                   
#zOS #ODF