Espandere il limite per le clausole SQL IN nei report drill-through
Risolvere un errore di drill-through aumentando il limite della clausola SQL IN oltre il valore predefinito di 1000 membri.
Se i report drill-through non riescono con errori
'ERROR: relation <member name> does not exist'
L'errore si verifica perché le clausole SQL IN sono limitate a 1000 membri per impostazione predefinita. Questo valore predefinito esiste per Essbase e per Oracle Database.
Attenzione
La piattaforma Essbase include script in <DOMAIN HOME>/bin in grado di personalizzare l'ambiente e i comportamenti della funzionalità Essbase. Tuttavia, apportare modifiche a questi script dell'ambiente di dominio o di avvio può avere effetti indesiderati, incluso il mancato avvio. Oracle consiglia di apportare le modifiche prima in un ambiente di test. Prima di modificare questi script, effettuare sempre le operazioni riportate di seguito.
-
Arrestare i server gestiti di Essbase utilizzando
<DOMAIN HOME>/esstools/bin/stop.sh(in Linux) o<DOMAIN HOME>\esstools\bin\stop.cmd(in Windows). -
In
<DOMAIN HOME>/bin, fare una copia di backup del file che si desidera modificare. Di seguito sono riportati alcuni esempi.in Linux
cp setStartupEnv.sh setStartupEnv_bak.shin Windows
copy setStartupEnv.cmd setStartupEnv_bak.cmd -
Apportare le modifiche con attenzione, utilizzando solo le istruzioni documentate di Oracle o collaborando con il Supporto Oracle.
-
Riavviare Essbase utilizzando
<DOMAIN HOME>/esstools/bin/start.sh(su Linux) o<DOMAIN HOME>\esstools\bin\start.cmd(su Windows). Verificare che l'avvio sia stato completato normalmente.
Per aumentare il limite della clausola SQL IN per il drill-through, se i limiti espansi sono supportati dal database esterno,
- Arrestare i servizi Essbase (vedere Server di arresto, avvio e controllo).
- Sul computer in cui è distribuito Essbase, passare a
<Domain Home>/bin(vedere Posizioni degli ambienti nella piattaforma Essbase). - Eseguire una copia di backup dello script di avvio,
setStartupEnv.sh(Linux) osetStartupEnv.bat(Windows). Salvarlo con un nome diverso; ad esempio:cp setStartupEnv.sh setStartupEnv_orig.sh - Aprire
setStartupEnv.shosetStartupEnv.batper la modifica. - Aggiungere le linee di configurazione per aumentare il limite oltre 1000.
Esempio di Linux (setStartupEnv.sh):
JAVA_OPTIONS="${JAVA_OPTIONS} -Ddtr.in.clause.limit=15000" export JAVA_OPTIONSEsempio di Windows (setStartupEnv.bat):
set JAVA_OPTIONS=%JAVA_OPTIONS% "-Ddtr.in.clause.limit=15000" - Salvare
setStartupEnv.shosetStartupEnv.bat. - Avviare i servizi Essbase (vedere Arresta, Avvia e Controlla server).