di Antoon van Os
WebSql  
Il Db2XTools con la potenza dell'SQL
Utilità DB2 public-source per l'IBM System i
 
   Che cosa è
WebSql è una utilità public-source scritta in RPG-ILE ed in CL-ILE; l'autore è Antoon van Os, Belgio.

WEBSQL consente di
  • definire ed eseguire da un browser WEB una query SQL su database del System i
  • visualizzare tramite browser WEB il risultato della query su PC, in formato in XML, HTML, CSV o TXT.
WEBSQL si fonda sulla nota utilità Db2XTools, dello stesso autore.

   Prerequisiti
  • OS/400 Rilascio 5.2 o successivo
  • Libreria di sistema QIWS (57xxSS1 opzione 12 - Host Services)
  • Libreria di sistema QSQL (Prodotto numero 57xxST1 opzione *BASE - DB2 Query Manager and SQL Development Kit)
  • Libreria di sistema QRPGLE (Prodotto numero 57xxWDS opzione 31 - Compiler - ILE RPG IV)
  • Utilità public-source DB2XTOOLS, scaricabile dal sito Easy400.net.

   Download
Per scaricare questo utilità, premere il bottone "Download now".
E' tutto gratuito, ma occorre registrarsi.
download now
   Installazione
  • fare l'unzip del file PC websql.zip
  • trasmettere in binario il file PC websql.savf
    al file di salvataggio qgpl/websql del System i
  • rstlib lib(websql) dev(*savf) savf(qgpl/websql)
  • strrexprc srcmbr(install) srcfile(websql/qrexsrc)
   Istanza HTTP
WEBSQL va fatto partire tramite una URL del tipo http://.../websql, che va resa disponibile tramite una istanza HTTP locale.
Ci sono due modi per attivare questa URL:
  1. Se NON hai pratica di direttive HTTP, puoi comunque creare facilmente una istanza HTTP che consente di eseguire WebSql da una data porta.
    Immetti il comando dspf '/websql/conf/httpd.conf' e leggi le istruzioni in lingua inglese.
  2. Se HAI pratica di direttive HTTP, aggiungi le direttive seguenti ad una istanza HTTP di tua scelta:
    #---- DB2XTOOLS directives ----------------------------------
    ScriptAliasMatch /db2xtoolsp/(.*)  /qsys.lib/db2xtools.lib/$1       
    ScriptAliasMatch ^/db2xtools$  /qsys.lib/db2xtools.lib/db2xtools.pgm
    Alias /db2xtools/ /db2xtools/
    <Directory /db2xtools>
       Options None
       order allow,deny
       allow from all
    </Directory>
    <Directory /qsys.lib/db2xtools.lib>
       AllowOverride None
       order allow,deny
       allow from all
       Options -ExecCGI
       CGIConvMode %%EBCDIC/EBCDIC%%
    </Directory>
    <LocationMatch (^/db2xtoolsp/(.*)$|^/db2xtools$)>
       AuthType Basic
       AuthName "DB2XTOOLS utility"
       PasswdFile %%SYSTEM%%
       UserID %%CLIENT%%
       Require valid-user                            
    </LocationMatch>
    #----  WEBSQL directives -----------------------------------
    ScriptAliasMatch /websqlp/(.*)  /qsys.lib/websql.lib/$1
    ScriptAliasMatch ^/websql$  /qsys.lib/websql.lib/websql1.pgm
    Alias /websql/html/ /websql/html/
    <Directory /websql>
       Options None
       order allow,deny
       allow from all
    </Directory>
    <Directory /qsys.lib/websql.lib>
       AllowOverride None
       order allow,deny
       allow from all
       Options -ExecCGI
       CGIConvMode %%EBCDIC/EBCDIC%%
    </Directory>
    <LocationMatch (^/websqlp/(.*)$|^/websql$)>
       AuthType Basic
       AuthName "WEBSQL utility"
       PasswdFile %%SYSTEM%%
       UserID %%CLIENT%%
       Require valid-user
    </LocationMatch>
    Se, anzichè concedere l'accesso a tutti i profili utente, si vuole concedere l'accesso ad un elenco ridotto di utenze, si può ricorrere ad una validation list, vedi questa pagina.

   Funzionamento di WebSql
Immetti quanto segue nella riga indirizzo del tuo browser WEB:
http://indirizzo_IP : numero_porta/websql
dove
  • indirizzo_IP   è l'indirizzo IP del tuo System i
  • numero_porta  è il numero della porta su cui la tua istanza HTTP è in ascolto (se usi la istanza HTTP preconfigurata in /websql/conf/httpd.conf, il numero della porta è 8033).
Continua ...
 
contattaci contattaci