ドリル・スルー・レポートでのSQL IN句の制限の拡大
SQL IN句の制限をデフォルトの1000メンバー以上に引き上げることで、ドリル・スルー・レポートのエラーを解決します。
ドリル・スルー・レポートがエラーで失敗した場合
'エラー: 関係<メンバー名>が存在しません'
この失敗は、SQL IN句のメンバーがデフォルトで1000に制限されているために発生します。このデフォルトは、EssbaseおよびOracle Databaseに対して存在します。
注意:
Essbaseプラットフォームでは、<DOMAIN HOME>/binに、環境およびEssbase機能の動作をカスタマイズできるスクリプトが含まれています。ただし、これらのドメイン環境または起動スクリプトを変更すると、起動の失敗など、意図しない影響が生じる可能性があります。最初にテスト環境で変更を加えることをお薦めします。これらのスクリプトを編集する前に、必ず次のことを実行してください:
-
<DOMAIN HOME>/esstools/bin/stop.sh
(Linuxの場合)または<Domain Home>\esstools\bin\stop.cmd
(Windowsの場合)を使用してEssbase管理対象サーバーを停止します。 -
<DOMAIN HOME>/bin
で、編集するファイルのバックアップ・コピーを作成します。例:Linuxの場合
cp setStartupEnv.sh setStartupEnv_bak.sh
Windowsの場合
copy setStartupEnv.cmd setStartupEnv_bak.cmd
-
Oracleのドキュメントに記載されている手順のみを使用するか、Oracleサポートと連携して、慎重に編集してください。
-
<DOMAIN HOME>/esstools/bin/start.sh
(Linuxの場合)または<Domain Home>\esstools\bin\start.cmd
(Windowsの場合)を使用してEssbaseを再起動します。起動が正常に完了したことを確認します。
制限の拡大が外部データベースによってサポートされている場合に、ドリル・スルーのSQL IN句の制限を引き上げるには
- Essbaseサービスを停止します(サーバーの停止、起動および確認を参照)。
- Essbaseがデプロイされているマシンで、
<Domain Home>/bin
に移動します(Essbaseプラットフォームの各環境の場所を参照)。 - 起動スクリプト(
setStartupEnv.sh
(Linux)またはsetStartupEnv.bat
(Windows))のバックアップ・コピーを作成します。これを別の名前で保存します(例:cp setStartupEnv.sh setStartupEnv_orig.sh
) setStartupEnv.sh
またはsetStartupEnv.bat
を編集用に開きます。- 構成行を追加して、制限を1000以上に引き上げます。
Linuxの例(setStartupEnv.sh):
JAVA_OPTIONS="${JAVA_OPTIONS} -Ddtr.in.clause.limit=15000" export JAVA_OPTIONS
Windowsの例(setStartupEnv.bat):
set JAVA_OPTIONS=%JAVA_OPTIONS% "-Ddtr.in.clause.limit=15000"
setStartupEnv.sh
またはsetStartupEnv.bat
を保存します。- Essbaseサービスを起動します(サーバーの停止、起動および確認を参照)。