Leggere uno spooled file con SQL

Accedi per salvare

Prima serviva CPYSPLF in un file fisico e poi una query su quello. Dal rilascio 7.3 il contenuto si legge direttamente.

SELECT ORDINAL_POSITION, SPOOLED_DATA
  FROM TABLE(SYSTOOLS.SPOOLED_FILE_DATA(
       JOB_NAME          => '123456/UTENTE/CHIUSURA',
       SPOOLED_FILE_NAME => 'QPJOBLOG'))
 ORDER BY ORDINAL_POSITION

Per cercare una riga dentro il log di un job:

SELECT SPOOLED_DATA
  FROM TABLE(SYSTOOLS.SPOOLED_FILE_DATA(
       JOB_NAME          => '123456/UTENTE/CHIUSURA',
       SPOOLED_FILE_NAME => 'QPJOBLOG'))
 WHERE SPOOLED_DATA LIKE '%CPF%'

Nota

il nome del job va scritto per intero, numero compreso, nella forma numero/utente/nome. WRKACTJOB lo mostra su tre colonne separate: vanno unite con la barra. Se ci sono più file di spool con lo stesso nome, si aggiunge SPOOLED_FILE_NUMBER => n per scegliere quale.


Rilasci. SYSTOOLS.SPOOLED_FILE_DATA è disponibile dal 7.3; sui rilasci precedenti arrivava con un PTF di gruppo Db2 e non è detto sia stato applicato. Per sapere se c'è, basta eseguire la query: se manca, il sistema risponde SQL0204 — oggetto non trovato.

Sui sistemi dove non c'è resta la via lunga: CPYSPLF in un file fisico e query su quello.

← Torna al blog

Commenti

Nessun commento ancora. Sii il primo a commentare!

Devi avere un account per commentare. Accedi · Registrati