IBM Books

Net.Data: riferimenti all'ambiente di linguaggio


Ambiente di linguaggio Oracle

L'ambiente di linguaggio Oracle fornisce l'accesso nativo ai dati Oracle. E' possibile accedere alle tabelle Oracle da un sistema Net.Data eseguito in modalità CGI, FastCGI, NSAPI, ISAPI o GWAPI. Questo ambiente di linguaggio supporta Oracle 7.2, 7.3 e 8.0.

Limitazioni:

Per accedere ad Oracle da Net.Data

  1. Verificare che l'istruzione ENVIRONMENT nel file di inizializzazione di Net.Data sia corretta per l'ambiente di linguaggio Oracle. Consultare il capitolo sulla configurazione in Guida alla gestione alla programmazione di Net.Data per procedure ed esempi.

  2. Assicurarsi che i componenti appropriati di Oracle siano installati e operativi nel modo seguente:

    1. Installare SQL*Net sulla macchina in cui è installato Net.Data, se non è già installato. Per ulteriori informazioni, aprire la seguente URL:
      http://www.oracle.com/products/networking/html/stnd_sqlnet.html
      

    2. Verificare che la funzione Oracle tnsping può essere utilizzata con la stessa autorizzazione di sicurezza utilizzata dal server Web. Per questa verifica, collegarsi con il proprio ID utente di server Web ed immettere:
      tnsping
      nome-istanza-oracle
      

      In cui nome-istanza-oracle è il nome del sistema Oracle a cui accede la macro di Net.Data.

      E' possibile che non si riesca a verificare la funzione tnsping su Windows NT se il server Web viene eseguito con l'autorizzazione del sistema. In tal caso, ignorare questo passo.

    3. Verificare che sia possibile accedere alle tabelle Oracle con la stessa autorizzazione di sicurezza che il server Web utilizza. Per eseguire questa verifica, immettere un'istruzione SQL SELECT, utilizzando lo strumento della riga comandi SQL*Plus, per accedere a una tabella Oracle con un'istruzione SQL SELECT con l'autorizzazione del server Web. Ad esempio:
      SELECT * FROM nometabella
      

      E' possibile che non si riesca a verificare l'accesso alla tabella su Windows NT se il server Web viene eseguito con l'autorizzazione del sistema. In tal caso, ignorare questo passo.

    Risoluzione del problema: non proseguire con l'elaborazione se queste procedure hanno esito negativo. Se qualcuno di questi passi non riesce, verificare la configurazione Oracle.

  3. Assicurarsi che le variabili di ambiente Oracle siano impostate correttamente nel processo del server Web. Suggerimento: E' possibile richiedere altre righe per altre variabili di ambiente Oracle, a seconda delle funzioni di Oracle da utilizzare, come il supporto lingua nazionale e la sincronizzazione a due fasi. Consultare la documentazione di gestione Oracle per ulteriori informazioni su queste variabili di ambiente.

  4. Verificare il collegamento ad Oracle da Net.Data. Nel file della macro di Net.Data, specificare i valori appropriati contenuti nelle variabili LOGIN e PASSWORD. Non definire la variabile DATABASE quando si accede ai database di Oracle. Quello che segue è un esempio di istruzione connect in un file della macro:
    %DEFINE LOGIN=user_ID@remote-nome-istanza-oracle
    %DEFINE PASSWORD=password 
    

    Istanze Oracle locale:

    Se si accede solo all'istanza Oracle locale, non specificare il nome istanza oracle come parte dell'ID utente di collegamento, come riportato nell'esempio che segue:

    %DEFINE LOGIN=user_ID
    %DEFINE PASSWORD=password
    
    Live Connection:

    Se viene utilizzato Live Connection, è possibile specificare LOGIN e PASSWORD nel file di configurazione di Live Connection, sebbene non sia consigliato per motivi di sicurezza. Ad esempio:

    LOGIN=user_ID
    PASSWORD=password
    
    Suggerimento: Non specificare la variabile di DATABASE per Oracle.

  5. Verificare la configurazione eseguendo uno script shell CGI per assicurarsi che sia possibile accedere all'istanza Oracle dal server Web, come in questo esempio:
    #! /bin/sh
    echo "content-type; text/html
    echo
    echo "< html>< pre>"
    set
    echo "</pre>< p>< pre>"
    tnsping nome-istanza-oracle
    echo
    

    In alternativa, è possibile eseguire tnsping direttamente da una macro di Net.Data, come nell'esempio che segue:

    %DEFINE testora = %exec "tnsping nome-istanza-oracle"
    %HTML (report){
    < P>About to test Oracle access with tnsping.
    < hr>
    $(testora)
    < hr>
    < P>The Oracle test is complete.
    %}
    

    Risoluzione del problema:

    Se la verifica ha esito negativo, verificare che tutti i passi precedenti abbiano esito positivo controllando i seguenti elementi:

    assistenza IBM.

Esempio:

Una volta completati i passi per la verifica dell'accesso, è possibile eseguire delle chiamate all'ambiente di linguaggio Oracle con le funzioni contenute nel file della macro, come di seguito indicato:

%FUNCTION(DTW_ORA) STL1() {
insert into $(nometabella) (int1,int2) values (111,NULL)
%}


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]