Net.Data: riferimenti all'ambiente di linguaggio
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:
- Le procedure memorizzate non sono supportate tramite il presente ambiente
di linguaggio.
- La variabile DATABASE non viene utilizzata per accedere ai database
Oracle.
- La variabile LOGIN deve contenere il nome istanza database di
Oracle. Ad esempio ora73 è il nome istanza definito nella
seguente variabile LOGIN:
LOGON=admin@ora73
Per accedere ad Oracle da Net.Data
- 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.
- Assicurarsi che i componenti appropriati di Oracle siano installati e
operativi nel modo seguente:
- 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
- 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.
- 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.
- 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.
- 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.
- 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:
- Verificare la configurazione Oracle.
- Verificare che la sintassi della variabile di ambiente Oracle sia corretta
e che non manchi nessuna variabile.
- Verificare il collegamento Oracle, assicurandosi di avere immesso
l'ID utente e la password corretti.
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 ]