Downloading data from DB2

Top  Previous  Next

The first step in the data migration is the data unloading on the source platform. Depending on to the source Operating System, different utilities may be used to achieve this goal.

DSNTIAUL

DSNTIAUL is sample unload program provided with IBM DB2 on MVS, OS/390 and z/OS systems. This program, which is written in assembler language, unloads some or all rows from up to 100 DB2 tables. With DSNTIAUL, you can unload data of any DB2 built-in data type or distinct type. You can unload up to 32KB of data from a LOB column. DSNTIAUL unloads the rows in a form that is compatible with the LOAD utility and generates utility control statements for LOAD. DSNTIAUL also lets you execute any SQL non-SELECT statement that can be executed dynamically.

 

//UNLOADB2 JOB CLASS=A,MSGCLASS=X,REGION=7M,COND=(12,LT)
//STEP01   EXEC  PGM=IDCAMS
//SYSPRINT DD  SYSOUT=*                                            
//SYSIN    DD  *                                                   
DELETE (SCARICO.PUNCH)                                    
DELETE (SCARICO.REC001)                                     
DELETE (SCARICO.REC002)                                     
IF LASTCC EQ 8 THEN SET MAXCC = 0                                 
//STEP02   EXEC  PGM=IKJEFT01,                        
//             DYNAMNBR=20                            
//SYSPRINT DD  SYSOUT=*                               
//SYSTSPRT DD  SYSOUT=*                               
//SYSUDUMP DD  SYSOUT=*                               
//*IN$                                                
//SYSIN    DD  *                                      
SELECT * FROM OWNER1.TABELLA1;                           
SELECT * FROM OWNER2.TABELLA2;                            
//*OU$                                                   
//SYSREC01 DD  DSN=SCARICO.REC001,                   
//             UNIT=3390,VOL=SER=HTG002,                 
//             SPACE=(CYL,(10,10),RLSE),                 
//             DISP=(,CATLG,DELETE)                      
//SYSREC02 DD  DSN=SCARICO.REC02,                   
//             UNIT=3390,VOL=SER=HTG002,                 
//             SPACE=(CYL,(10,10),RLSE),                 
//             DISP=(,CATLG,DELETE)                      
//SYSPUNCH DD  DSN=SCARICO.PUNCH,                   
//             UNIT=3390,VOL=SER=HTG002,                 
//             SPACE=(CYL,(5,5),RLSE),                   
//             DISP=(,CATLG,DELETE)                      
//SYSTSIN  DD  *                                                   
DSN SYSTEM(DSN1)                                                  
RUN  PROGRAM(DSNTIAUL) PLAN(DSNTIB51)  PARM('SQL') -              
     LIB('DSN510.RUNLIB.LOAD')     
/*                             

 

Output file is a flat fixed-length file.

ARIDBS

On VSE system, ARIDBS is the utility to download data from DB2 (SQL/DS). Remember to set the --vse option when using xddlconv to generate objects.

* $$ JOB JNM=QFCHD00,CLASS=8,DISP=D,PRI=9,USER=EDP
* $$ LST CLASS=V,DISP=H,JSEP=0,LST=00E
* $$ LST CLASS=W,DISP=K,JSEP=0,LST=02E,DEST=(*,TRANSFER)
// JOB QFCHD00
// ASSGN SYSLST,00E
// SETPFIX LIMIT=40K
// OPTION NODUMP
// EXEC IDCAMS,SIZE=AUTO
  DELETE (SQLPRVA.QFCHD00) PURGE CAT(WKCAT7)
/*
// DLBL DASD1,'SQLPRVA.QFCHD00',0,VSAM,DISP=(NEW,KEEP),
              CAT=WKCAT7,RECORDS=20000,RECSIZE=542
// EXTENT ,WKVOL7
// EXEC ARIDBS,SIZE=AUTO
  CONNECT SQLDBA IDENTIFIED BY SYS2;
  CONNECT TO SQLPRVA;
  DATAUNLOAD
  SELECT * FROM SQLDBA.QFCHD00;
  OUTFILE(DASD1 PDEV(DASD))
/*
/&
* $$ EOJ