Opzioni di configurazione SQL speciali

Configurare esssql.cfg nel dominio Essbase quando si desidera connettersi a un database utilizzando driver ODBC non inclusi da Oracle con Essbase o quando si desidera modificare le impostazioni predefinite per uno qualsiasi dei driver distribuiti con Essbase.

Caso d'uso

Un caso d'uso che richiede una modifica alle impostazioni predefinite è quando è necessario abilitare i caricamenti di dati SQL multithread (che non sono uguali ai caricamenti di dati paralleli) utilizzando qualsiasi driver ( JDBC, ODBC, incluso in Essbase o non incluso in Essbase). Ad esempio, quando si caricano dati SQL in cubi di memorizzazione di aggregazione, è possibile utilizzare fino a otto file di regole per caricare i dati in parallelo. Ogni file di regole deve includere le stesse informazioni di autenticazione (nome utente e password SQL).

Essbase inizializza più buffer di caricamento dati di memorizzazione di aggregazione temporanei (uno per ogni file di regole), in cui i valori dei dati vengono ordinati e accumulati. Quando i dati vengono caricati completamente nei buffer di caricamento dati, Essbase esegue il commit del contenuto di tutti i buffer nel cubo in un'unica operazione, più veloce del commit dei buffer singolarmente.

Nell'esempio MaxL seguente, i dati SQL vengono caricati da due file di regole (rule1.rul e rule2.rul):

import database AsoSamp.Basic data 
   connect as TBC identified by 'password' 
   using multiple rules_file 'rule1' , 'rule2' 
   to load_buffer_block starting with buffer_id 100 
   on error write to "error.txt";

Modifica della configurazione SQL

Per abilitare i caricamenti di dati multithread da origini SQL esterne come nel caso d'uso precedente, è necessario modificare le impostazioni predefinite per i driver distribuiti con Essbase, modificando esssql.cfg. Altrimenti, gli utenti concorrenti che tentano di caricare i dati riscontreranno un errore come: ERROR - 1021025 - SQL driver [driverLibrary] for [DriverName] is in use already and does not allow multiple connections. Please try later.

È inoltre necessario aggiungere voci a esssql.cfg quando si desidera connettersi a un database utilizzando driver ODBC non inclusi da Oracle con Essbase.

Per modificare le impostazioni di configurazione SQL,

  1. Individuare il file di configurazione SQL nel dominio Essbase:

    <DOMAIN HOME>/config/fmwconfig/essconfig/essbase/esssql.cfg
  2. Salvare una copia del file con un nome diverso. Ad esempio, creare una copia denominata esssql_cfg.orig.

  3. Aprire esssql.cfg per la modifica.

    È possibile configurare questo file utilizzando più blocchi (uno per ogni driver). I blocchi sono delineati da parentesi quadre []. È possibile copiare e incollare un blocco e modificare le impostazioni necessarie per ogni driver.

  4. Apportare le modifiche necessarie, a seconda delle esigenze, e salvare il file. Vedere Opzioni diesssql.cfg di seguito. Per abilitare le operazioni con più thread, ad esempio, modificare il valore di SingleConnection su 0.

  5. Arrestare e riavviare il server Essbase, come descritto in Avvia, Arresta e Controlla server.

File esssql.cfg di esempio

L'esempio seguente esssql.cfg include 6 blocchi di configurazione. La prima è disponibile per impostazione predefinita e le cinque successive vengono aggiunte come esempi di configurazione di origini diverse per abilitare il caricamento dei dati SQL multi-thread.

[
Description "Oracle BI Server"
DriverName libnqsodbc
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 0
ConvertUTF16toUTF8 1
]
[
Description "SQL Server"
DriverName SQLSRV
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 0
]
[
Description "Oracle SQL Server Wire Protocol"
DriverName ARSQLS
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 1
]
[
Description "Oracle DB2 Wire Protocol"
DriverName ARDB2
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 1
]
[
Description "Oracle MySQL Wire Protocol"
DriverName ARMYSQL
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 1
]
[
Description "Teradata"
DriverName TDATAODBC_SB64
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 0
]

Per Teradata DriverName, è possibile utilizzare TDATA o TDATAODBC_SB64.

esssql.cfg Opzioni

Il file di configurazione esssql.cfg deve contenere almeno il nome del file del driver (DriverName). Facoltativamente, può includere una descrizione (descrizione). Il file di configurazione può contenere parole chiave aggiuntive, i cui valori sono 0 o 1.

Per trovare il DriverName su Linux, consultare odbcinst.ini, situato in
<Essbase Product Home>/modules/<driver class>/<driver version>
Il nome del driver si trova alla fine del percorso specificato per il driver.

Ad esempio, dalla seguente voce in odbcinst.ini, sappiamo che il nome del driver è ARora (non è necessario includere le informazioni sulla versione, 28):

Driver=/scratch/username/oracle_home/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/lib/ARora28.so

Per trovare DriverName su Windows, vedere l'utility ODBC Data Source Administrator a 64 bit di Windows, nella scheda Driver.


Strumento di amministrazione dell'origine dati ODBC con la scheda Driver selezionata. Viene evidenziato il protocollo Oracle Wire Oracle 8.0. Il nome del file del driver è ARORA28.DLL.

Parola chiave Valore Valore = 0 Valore = 1
Descrizione (Facoltativo) Una descrizione del driver, racchiusa tra virgolette doppie. Il valore predefinito è "" ND ND
Nome driver (Obbligatorio) Il nome del file del driver; ad esempio ARORA ND ND
UserId 0 or 1 L'ID utente non è obbligatorio (impostazione predefinita) ID utente obbligatorio
Password 0 or 1 Password non richiesta (impostazione predefinita) Password obbligatoria
Database 0 or 1 Nome database non obbligatorio (impostazione predefinita) Nome database obbligatorio
server 0 or 1 Nome del server non richiesto (impostazione predefinita) Nome server obbligatorio
Applicazione 0 or 1 Nome applicazione non obbligatorio (impostazione predefinita) Nome applicazione richiesto
Dizionario 0 or 1 Nome dizionario non obbligatorio (predefinito) Nome dizionario obbligatorio
File 0 or 1 Nome del file non richiesto (predefinito) Nome file obbligatorio
Connessione singola 0 or 1 Driver sicuro da thread -- Sono consentite più connessioni attive Driver non sicuro da thread -- È consentita una connessione attiva
IsQEDriver 0 or 1 Il driver non viene fornito con Essbase (impostazione predefinita) Il driver viene fornito con Essbase
ConvertiUTF16toUTF8 0 or 1 Nessuna conversione dei dati UTF16 in UTF8 (impostazione predefinita). Converte i dati con codifica UTF16 da un'origine dati Oracle BI in UTF8. Questa operazione è obbligatoria su UNIX per i caricamenti di dati SQL in Essbase da OBI.

I valori predefiniti si applicano ai valori non specificati. I valori predefiniti applicati nei file di configurazione sono diversi dai valori predefiniti di Essbase applicabili se non esiste alcun file esssql.cfg.

Le parole chiave e i relativi valori devono essere separati da almeno uno spazio e l'insieme di parole chiave e valori per ogni driver deve essere racchiuso tra parentesi quadre ( [ ] ).

I driver diversi possono richiedere valori aggiuntivi. Per informazioni specifiche, consultare la documentazione del driver.