| At line 18 added 54 lines |
| %%prettify |
| {{{ |
| D DSTAB DS |
| D CAMPO1 35 |
| D CAMPO2 15 |
| C* |
| C EVAL $CMD='CHGJOB CCSID(280)' |
| C CALL 'QCMDEXC' |
| C PARM $CMD 100 |
| C PARM 100 NNN155 15 5 |
| C* |
| C MOVEL 'MIODB' RMTDB 20 |
| C MOVEL 'MIOUSER' RMTUSER 20 |
| C MOVEL 'MIAPASSW' RMTPWD 20 |
| C*... Esecuzione SQL di connessione al DB Remoto |
| C/EXEC SQL |
| C+ CONNECT TO :RMTDB USER :RMTUSER USING :RMTPWD |
| C/END-EXEC |
| *.... Preparo la mia stringa di select costruita come voglio |
| C CLEAR CMDSQL2 500 |
| C EVAL CMDSQL2='SELECT * FROM miatabella' |
| *.... Eseguo la preparazione,la select |
| C/EXEC SQL |
| C+ PREPARE CMDSQL2 FROM: CMDSQL2 |
| C/END-EXEC |
| C/EXEC SQL DECLARE C1 CURSOR FOR CMDSQL2 |
| C/END-EXEC |
| C/EXEC SQL OPEN C1 |
| C/END-EXEC |
| *... Eseguo un ciclo di Fetch |
| C DO *HIVAL |
| C/EXEC SQL FETCH C1 into :DSTAB |
| C/END-EXEC |
| C SELECT |
| C WHEN SQLCODE=100 EOF |
| C/EXEC SQL CLOSE C1 |
| C/END-EXEC |
| C LEAVE |
| C WHEN SQLCODE<0 ERRORE |
| C/EXEC SQL CLOSE C1 |
| C/END-EXEC |
| C EVAL £DMSAZ='1' |
| C EVAL £DMSTI='INFO' |
| C EVAL £DMSME='' |
| C EVAL £DMSFI='' |
| C EVAL £DMSTE='Errore SQL ' +%EDITC(SQLCODE:'J') |
| C EXSR £DMSG |
| C OTHER |
| C EXSR ELAREC Elabor. record letto |
| C ENDSL |
| C* |
| C ENDDO |
| }}} |
| /% |
| At line 19 changed 8 lines |
| {{ :DWRSLT \\ |
| DRAWER=DRAWER1 \\ |
| /* DATA ='1B266C3448'X. */ \\ |
| DATA ='1B266C3148'X. \\ |
| :DWRSLT \\ |
| DRAWER=DRAWER2 \\ |
| /* DATA ='1B266C3148'X. */ \\ |
| DATA ='1B266C3448'X. }} |
|
| !! Compilazione del programma : Attenzione qui !! |
| La compilazione del programma SQLRPG è un po' particolare perchè necessita della creazione |
| del pacchetto sql e di alcuni parametri particolari per la connessione a DB non Iseries ... |
| per comodità ho messo una sequenza di istruzioni in un CL di compilazione (da migliorare |
| naturalmente, ma per ora funziona !) |
| %%prettify |
| {{{ |
| PGM |
| CHGJOB CCSID(280) |
| CRTSQLRPGI OBJ(mialib/miopgm) SRCFILE(mialib/SRC) + |
| COMMIT(*CS) RDB(*LOCAL) USER(*CURRENT) + |
| OPTION(*SQL) ALWCPYDTA(*NO) DATFMT(*ISO) |
| CRTSQLPKG PGM(miopgm) RDB(miodb) USER(miouser) + |
| PASSWORD(miapassw) |
| ENDPGM |
|
| }}} |
| /% |
|
|
| In questo modo non ho errori e riesco ad elaborare il file remoto dal mio RPG ... Wow ! |
|