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:

  1. Interrompa os servidores gerenciados do Essbase, usando <DOMAIN HOME>/esstools/bin/stop.sh (no Linux) ou <DOMAIN HOME>\esstools\bin\stop.cmd (no Windows).

  2. 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.sh

    No Windows

    copy setStartupEnv.cmd setStartupEnv_bak.cmd
  3. Edite cuidadosamente, usando apenas as instruções documentadas da Oracle ou trabalhando com o Suporte Técnico da Oracle.

  4. 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,

  1. Interrompa os serviços do Essbase (consulte Interromper, Iniciar e Verificar Servidores).
  2. Na máquina em que o Essbase é implantado, navegue até <Domain Home>/bin (consulte Locais de Ambiente na Plataforma Essbase).
  3. Faça uma cópia de backup do script de inicialização, setStartupEnv.sh (Linux) ou setStartupEnv.bat (Windows). Salve-o com outro nome; por exemplo: cp setStartupEnv.sh setStartupEnv_orig.sh
  4. Abra o setStartupEnv.sh ou o setStartupEnv.bat para edição.
  5. 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_OPTIONS

    Exemplo do Windows (setStartupEnv.bat):

    set JAVA_OPTIONS=%JAVA_OPTIONS% "-Ddtr.in.clause.limit=15000"
  6. Salve setStartupEnv.sh ou setStartupEnv.bat.
  7. Inicie os serviços do Essbase (consulte Interromper, Iniciar e Verificar Servidores).