Expandir Limite para Cláusulas SQL IN em Relatórios de Drill Through
Resolva um erro de relatórios de drill through aumentando o limite da cláusula SQL IN além do padrão de 1000 membros.
Se os relatórios de drill-through falharem com erro
'ERROR: relation <member name> does not exist'
A falha ocorre porque as cláusulas SQL IN são limitadas a 1000 membros por padrão. Esse padrão existe para o Essbase e para o Oracle Database.
Atenção:
A plataforma Essbase inclui scripts no <DOMAIN HOME>/bin que podem personalizar o ambiente e os comportamentos da funcionalidade do Essbase. No entanto, fazer alterações nesses scripts de ambiente de domínio ou inicialização pode ter efeitos indesejados, incluindo falha na inicialização. A Oracle recomenda fazer alterações em um ambiente de teste primeiro. Antes de editar esses scripts, sempre:
-
Interrompa os servidores gerenciados do Essbase, usando
<DOMAIN HOME>/esstools/bin/stop.sh(no Linux) ou<DOMAIN HOME>\esstools\bin\stop.cmd(no Windows). -
No
<DOMAIN HOME>/bin, faça uma cópia de backup do arquivo que você deseja editar. Por exemplo,No Linux
cp setStartupEnv.sh setStartupEnv_bak.shNo Windows
copy setStartupEnv.cmd setStartupEnv_bak.cmd -
Edite cuidadosamente, usando apenas as instruções documentadas da Oracle ou trabalhando com o Suporte Técnico da Oracle.
-
Reinicie o Essbase, usando
<DOMAIN HOME>/esstools/bin/start.sh(no Linux) ou<DOMAIN HOME>\esstools\bin\start.cmd(no Windows). Verifique se a inicialização foi concluída normalmente.
Para aumentar o limite da cláusula SQL IN para drill-through, se os limites expandidos forem suportados pelo banco de dados externo,
- Interrompa os serviços do Essbase (consulte Interromper, Iniciar e Verificar Servidores).
- Na máquina em que o Essbase é implantado, navegue até
<Domain Home>/bin(consulte Locais de Ambiente na Plataforma Essbase). - Faça uma cópia de backup do script de inicialização,
setStartupEnv.sh(Linux) ousetStartupEnv.bat(Windows). Salve-o com outro nome; por exemplo:cp setStartupEnv.sh setStartupEnv_orig.sh - Abra o
setStartupEnv.shou osetStartupEnv.batpara edição. - Adicione as linhas de configuração para aumentar o limite além de 1000.
Exemplo do Linux (setStartupEnv.sh):
JAVA_OPTIONS="${JAVA_OPTIONS} -Ddtr.in.clause.limit=15000" export JAVA_OPTIONSExemplo do Windows (setStartupEnv.bat):
set JAVA_OPTIONS=%JAVA_OPTIONS% "-Ddtr.in.clause.limit=15000" - Salve
setStartupEnv.shousetStartupEnv.bat. - Inicie os serviços do Essbase (consulte Interromper, Iniciar e Verificar Servidores).