Accedi a Oracle Database mediante Oracle Call Interface
Se si utilizzano applicazioni sviluppate con Oracle Call Interface (OCI), è possibile connettere le regole di caricamento di Essbase a Oracle Database utilizzando una stringa di connessione OCI o un nome di servizio di rete definito in un file di configurazione tnsnames.ora sul server Essbase.
Proprietà regola con stringa di connessione di Oracle Call Interface
Per connettere una regola di caricamento Essbase a Oracle Database utilizzando una stringa di connessione OCI,
-
Nell'interfaccia Web Essbase aprire una regola esistente o crearne una nuova (vedere Accedi e modifica regole, Crea nuova regola di generazione dimensione o Crea nuova regola di caricamento dati).
-
Fare clic su Proprietà origine.

-
Fare clic su Proprietà SQL.
-
In Proprietà, selezionare Oracle Call Interface (OCI).
-
Nel campo Server immettere la stringa di connessione di Oracle Database nel formato
<host>:<port>/<service_name>. -
Nel campo Query immettere una query SQL che accede ai dati necessari da Oracle Database.
-
Nei campi Nome utente e Password fornire le credenziali necessarie per accedere allo schema di Oracle Database. Queste informazioni vengono utilizzate per l'anteprima dei dati, ma non verranno salvate nella regola.

-
Fare clic su Anteprima per assicurarsi che la regola possa connettersi e recuperare i dati, quindi salvare e chiudere la regola.
Regola di caricamento con Oracle Call Interface predefinita nel file di configurazione
Per connettere una regola di caricamento Essbase a Oracle Database utilizzando un net_service_name definito in un file di configurazione sul server Essbase,
-
Nel server Essbase creare un file di configurazione (ad esempio, denominato
tnsnames.ora) in<Oracle Home>/network/admin.Se il file di configurazione esiste già, assicurarsi che disponga di una voce valida per la connessione a Oracle Database mediante Oracle Call Interface (OCI). In caso contrario, configurarlo ora. Nell'esempio seguente,
OCISQL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oraclehost.example.com)(PORT = 1521)) ) (CONNECT_DATA = (service_name = orcl.example.com) (SERVER = DEDICATED) ) )- net_service_name è
OCISQL. Prendi nota di questo nome, di cui avrai bisogno per i prossimi passi. - L'host è
oraclehost.example.com - La porta è
1521. - Il nome servizio è
orcl.example.com.
- net_service_name è
-
Nell'interfaccia Web di Essbase, aprire una regola di caricamento dati o di generazione dimensione esistente oppure crearne una nuova (vedere Accedi e modifica regole, Crea nuova regola di generazione dimensione o Crea nuova regola di caricamento dati).
-
Fare clic su Proprietà origine.

-
Fare clic su Proprietà SQL.
-
In Proprietà, selezionare Oracle Call Interface (OCI).
-
Nel campo Server immettere net_service_name utilizzato nel file di configurazione
tnsnames.ora. In base all'esempio riportato al passo 1, immettereOCISQL. -
Nel campo Query immettere una query SQL che accede ai dati necessari da Oracle Database.
-
Nei campi Nome utente e Password fornire le credenziali necessarie per accedere allo schema di Oracle Database. Queste informazioni vengono utilizzate per l'anteprima dei dati, ma non verranno salvate nella regola.

-
Fare clic su Anteprima per assicurarsi che la regola possa connettersi e recuperare i dati, quindi salvare e chiudere la regola.
Risoluzione dei problemi di connettività
In Windows, l'anteprima dei dati o l'esecuzione di una generazione di dimensioni o il caricamento dei dati con una regola che utilizza una stringa di connessione Oracle Call Interface (OCI) potrebbe non riuscire con il seguente messaggio di errore:
Attempt to connect to OCI failed. [ORA-12638: Credential retrieval failed].La causa di questo problema è che il server Oracle Database versione 19c e il client 19c (in questo caso il client è dove è installato Essbase Server) non ha alcuna impostazione o ha la seguente impostazione configurata in tnsnames.ora (o sqlnet.ora): SQLNET.AUTHENTICATION_SERVICES=(NTS)
La soluzione consiste nella configurazione di SQLNET.AUTHENTICATION_SERVICES=(NONE) nel computer Essbase Server.
-
Individuare il file di configurazione in
<Oracle Home>/network/admin. -
Aprire il file e aggiungere
SQLNET.AUTHENTICATION_SERVICES=(NONE) -
Riavviare l'applicazione Essbase.
Nota
Consultare le note sull'uso nella documentazione SQLNET.AUTHENTICATION_SERVICES per Oracle Database 19c.