Développement de la limite pour les clauses SQL IN dans les rapports d'exploration amont
Résolvez une erreur de rapport d'exploration amont en augmentant la limite de clause SQL IN au-delà de 1000 membres par défaut.
Si les rapports d'exploration amont échouent avec une erreur
'ERROR: relation <member name> does not exist'
L'échec se produit car les clauses SQL IN sont limitées à 1000 membres par défaut. Cette valeur par défaut existe pour Essbase et Oracle Database.
Attention :
La plate-forme Essbase inclut des scripts dans <DOMAIN HOME>/bin qui peuvent personnaliser l'environnement et les comportements de la fonctionnalité Essbase. Toutefois, toute modification apportée à ces scripts de démarrage ou d'environnement de domaine peut avoir des effets indésirables, comme l'échec du démarrage. Oracle recommande d'effectuer d'abord les modifications dans un environnement de test. Avant de modifier ces scripts, effectuez toujours les opérations suivantes :
-
Arrêtez les serveurs gérés Essbase à l'aide de
<DOMAIN HOME>/esstools/bin/stop.sh(sous Linux) ou<DOMAIN HOME>\esstools\bin\stop.cmd(sous Windows). -
Dans
<DOMAIN HOME>/bin, effectuez une copie de sauvegarde du fichier à modifier. Exemple :Sous Linux
cp setStartupEnv.sh setStartupEnv_bak.shSous Windows
copy setStartupEnv.cmd setStartupEnv_bak.cmd -
Effectuez les modifications prudemment : suivez uniquement les instructions de la documentation Oracle ou du support technique Oracle.
-
Redémarrez Essbase en utilisant
<DOMAIN HOME>/esstools/bin/start.sh(sous Linux) ou<DOMAIN HOME>\esstools\bin\start.cmd(sous Windows). Assurez-vous que le démarrage s'effectue normalement.
Pour augmenter la limite de clause SQL IN pour l'exploration amont, si des limites étendues sont prises en charge par la base de données externe,
- Arrêtez les services Essbase (reportez-vous à Arrêt, démarrage et vérification des serveurs).
- Sur l'ordinateur sur lequel Essbase est déployé, accédez à
<Domain Home>/bin(reportez-vous à Emplacements d'environnement dans la plate-forme Essbase). - Effectuez une copie de sauvegarde du script de démarrage,
setStartupEnv.sh(Linux) ousetStartupEnv.bat(Windows). Enregistrez-le sous un autre nom, par exemple :cp setStartupEnv.sh setStartupEnv_orig.sh - Ouvrez
setStartupEnv.shousetStartupEnv.batpour la modifier. - Ajoutez les lignes de configuration pour augmenter la limite au-delà de 1000.
Exemple Linux (setStartupEnv.sh) :
JAVA_OPTIONS="${JAVA_OPTIONS} -Ddtr.in.clause.limit=15000" export JAVA_OPTIONSExemple Windows (setStartupEnv.bat) :
set JAVA_OPTIONS=%JAVA_OPTIONS% "-Ddtr.in.clause.limit=15000" - Enregistrez
setStartupEnv.shousetStartupEnv.bat. - Démarrez les services Essbase (reportez-vous à Arrêt, démarrage et vérification des serveurs).