関連項目:
『Oracle Essbaseテクニカル・リファレンス』(ESSCMDの構文と使用方法)
Oracle Essbase Administration Services Online Help(MaxLスクリプト・エディタの詳細)
ESSCMDを使用することにより、Essbaseサーバーでは、対話モードまたはバッチ・モードで、コマンドラインからサーバーの操作を実行できます。
対話モードとは、コマンドをESSCMDコマンドラインで入力し、必要な場合にプロンプトが表示されることを意味します。対話モードは、コマンドを入力する必要がほとんどない簡単な操作や、情報の即時チェック、エラー・チェックを行いたい場合に便利です。
バッチ処理モードは、定期的なEssbaseサーバーのメンテナンス・タスクや診断タスクを自動化するために使用されます。スクリプト・ファイルやバッチ・ファイルを記述し、それをコマンドラインから実行できます。特定の一連のファイルを頻繁に使用する場合や、タスクに多数のコマンドが必要な場合は、バッチ処理モードが便利です。
通常、ESSCMDコマンドを入力する際は、他の計算コマンドの場合と同じ構文を使用します。ただし、ESSCMDの対話型モードとバッチ処理モードの間には、引用符とセミコロンのステートメントのターミネータに関する要件で違いがあります。スクリプト・ファイルまたはバッチ・ファイルを作成する際には、この項のガイドラインに従ってください。
一部のコマンドでは、アーチファクトまたはファイル名の前に1から4の数値パラメータを指定する必要があります。この数値パラメータで、Essbaseに対してアーチファクトまたはファイルの検索場所を指定します。パラメータを指定すると、ESSCMDでは、他のアプリケーション、データベースまたはシステムでファイルが検索されます。
表253は、数値パラメータのそれぞれの値(「数字」)、数値パラメータが適用されるファイルの場所、および各パラメータの設定時に、ESSCMDから要求される情報のリストです。なお、appNameはアプリケーション名、dbNameはデータベース名です。
たとえば、LOADDATAコマンドでは、クライアントまたはEssbaseサーバー上にあるデータ・ファイルをロードできます。このコマンドでは、データ・ファイルを検索する場所をEssbaseに指示するために、数値パラメータが必要です。次の例では、ESSCMDで、ロード対象ファイルの完全修飾パス名を求めるプロンプトが表示されます:
LOADDATA 3
通常、ファイル拡張子の指定は、対話モードでもバッチ処理モードでもオプションです。ただし、使用するコマンドにおいて、ファイルの場所を示す数値パラメータが必要な場合は、ファイル拡張子を指定します:
ESSCMDではEssbaseサーバー上の複数のログイン・インスタンスをサポートしているため、単一セッション内の複数のデータベースにアクセスできます。複数のデータベースにログオンする場合でも、サーバー・ライセンスで使用するポートは1つのみです。
Essbaseサーバーでは、アプリケーションとデータベースの名前は、ユーザーが指定したとおりに作成されます。どのプラットフォームでも、大文字と小文字が変更されることはありません。
Essbaseサーバーでは、後方互換性のために、最初に大文字と小文字を正確に使用して、既存のアプリケーションとデータベースの名前が検索されます。ただし、ファイルが見つからない場合は、大文字と小文字の可能なすべての組合せで、既存のアプリケーションとデータベースの名前が検索されます。
Essbaseでは、大文字と小文字のみが異なるアプリケーション名とデータベース名は作成できません。たとえば、アプリケーションmYdATAが存在しているときにアプリケーションMyDataを作成しようとすると、Essbaseでエラー・メッセージが表示されます。
ESSCMDは、EssbaseサーバーおよびEssbase管理サーバー上のesscmd.exeおよびesscmd.hlp(UNIXプラットフォームの場合はesscmdおよびesscmd.hlp)という2つのファイルで構成されます。
ESSCMDを開始すると、次のようなコマンド・プロンプトが表示されます:
:::[
n
]->
nは、アクティブなログイン・インスタンスの値です。その後のログインが成功するたびに、この値は1つずつ増加します。ESSCMD開始時のインスタンス番号はゼロ(0)です。
対話モードでは、コマンドを入力してプロンプトに応答します。対話モードは、少ないコマンドで済む簡単なタスクを実行するときに便利です。多数のコマンドを必要とする複雑なタスクを実行する場合は、スクリプト・ファイルやバッチ・ファイルの作成を検討してください。バッチ・プロセスにおけるスクリプト・ファイルおよびバッチ・ファイルの使用を参照してください。
対話モードで実行中の構文の表記規則については、構文のガイドラインについてを参照してください。
ESSCMDを開始した後、Essbaseサーバーに接続する必要があります。これにより、コマンドを入力できるようになります。
aspen:::
userName
[1]->
任意の有効なESSCMDコマンドを入力できます。コマンドの完全なリストは、『Oracle Essbaseテクニカル・リファレンス』を参照してください。
aspen: appname : dbname : userName [1]->
対話モードでコマンドを入力する場合は、次のいずれかの方法を選択します:
ESSCMDにより各コマンド・パラメータの入力を求めるプロンプトが表示されます。たとえば、SELECTコマンドには、次のコマンド構文に示すように、2つのパラメータがあります:
SELECT " appname " " dbname ";
SELECTのみを入力し、[Enter]キーを押すと、ESSCMDによって最初のパラメータであるアプリケーション名(appName)が要求されます。アプリケーション名を入力し、[Enter]キーを押すと、ESSCMDによってデータベース名(dbName)を入力するように要求されます。
コマンドとすべてのパラメータを入力してから[Enter]を押します。
たとえばSELECTコマンドの場合では、次のように入力します:
SELECT "Sample" "Basic";
どの方法を使用しても、対話型のプロンプトにアプリケーションとデータベースの名前が反映されます。たとえば、次のプロンプトは、SampleアプリケーションおよびBasicデータベースが選択されていることを示します:
aspen:Sample:Basic:User[1]->
一連のコマンドを頻繁に使用する場合、またはタスクを完了するために多数のコマンドを入力する必要がある場合には、スクリプト・ファイルまたはバッチ・ファイルを使用してタスクを自動化することを検討してください。これらのファイルは、バッチ・データのロードや複雑な計算の場合に便利です。
構文のガイドラインについてを参照してください。
スクリプト・ファイルには、ESSCMDコマンドが含まれます。スクリプト・ファイルは、オペレーティング・システムのコマンド・ラインから、またはオペレーティング・システムのバッチ・ファイルから実行できます。スクリプト・ファイルはESSCMDによって処理されます。デフォルトでは、ESSCMDスクリプト・ファイルの拡張子は.scrです。別の拡張子も使用できます。
バッチ・ファイルとは、複数のESSCMDスクリプトを呼び出すオペレーティング・システム・ファイルのことで、オペレーティング・システムのコマンドを組み込むこともできます。バッチ・ファイルを使用して、複数のESSCMDセッションを実行できます。Essbaseサーバー上のバッチ・ファイルは、オペレーティング・システムのプロンプトから実行できます。このファイルはオペレーティング・システムによって処理されます。Windowsの場合、バッチ・ファイルの拡張子は*.batです。
UNIXの場合、バッチ・ファイルまたはスクリプト・ファイルはシェル・スクリプトとして記述されます。通常、シェル・スクリプトの拡張子は、.sh (BourneシェルまたはKornシェル)または.csh (Cシェル)です。 |
スクリプト・ファイルまたはバッチ・ファイルを実行すると、ESSCMDによってファイル内のコマンドがファイルの最後まで順に実行されます。
一部のコマンドは、Essbaseの新しいリリースで変更されています。この変更は既存のスクリプトに影響する可能性があります。スクリプトが現在のリリースで正しく動作することを確認するには、『Oracle Essbase新機能』および『Essbase Readme』で変更または削除されたコマンドの情報を確認し、必要な場合はスクリプトを変更してください。
ESSCMDスクリプト・ファイルでは、一連の使用頻度の高いコマンドまたは長いコマンドを自動化します。各スクリプト・ファイルは、ログイン、アプリケーションとデータベースの選択、ログアウト、終了の各コマンドを備えた完全なESSCMDセッションである必要があります。
このスクリプトをオペレーティング・システムのコマンドラインから実行すると、EssbaseのlocalhostサーバーへのUser1のログイン、SampleアプリケーションとBasicデータベースの選択、データベース統計の取得およびESSCMDセッションの終了操作が実行されます。
オペレーティング・システムのプロンプトで次のコマンドを入力します:
ESSCMD
scriptFileName
.scr
scriptFileNameをスクリプト・ファイルの名前と置き換えます。
たとえば、スクリプト・ファイルが現在のディレクトリ内にある場合は、次のように入力します:
ESSCMD TEST.SCR
スクリプト・ファイルが現在のディレクトリにない場合は、パスも指定します。
例:
ESSCMD C:\WORK\SCRIPTS\TEST.SCR (an absolute path on Windows)
ESSCMD..\SCRIPTS\TEST.SCR (a relative path on Windows)
ESSCMDのエラー処理機能には、スクリプト・ファイルのエラーの検査と処理があります。スクリプト・ファイルにエラー処理コマンドを記述するとエラーを検査したり、必要に応じて、適切なエラー処理応答に分岐させたりすることができます。
各ESSCMDコマンドが実行されると、内部バッファに数値が保管されます。コマンドが正常に実行されると、内部バッファに0が戻されます。コマンドが失敗すると、バッファにエラー番号が保管されます。これは非ゼロ・ステータスと呼ばれます。
ESSCMDスクリプト・ファイル内のエラー・チェックでは、次のエラー処理コマンドを使用できます:
IFERRORでは、以前に実行されたコマンドが非ゼロの戻りステータス(実行に失敗)かどうかが検査されます。ステータスがゼロでない場合、後続のすべてのコマンドがスキップされ、ファイル内のユーザー指定のポイントにジャンプします。処理はこのポイントで再開されます。スクリプト・ファイルでは、エラー処理ルーチンまたはファイルの最後に分岐できます。
RESETSTATUSを使用すると、保存されたすべてのステータス値が0(ゼロ)に戻ります。これは、後続の処理の中でステータス検査を実行できるようにするためです。
GOTOを使用すると、エラーが発生したかどうかにかかわらず、ファイル中のユーザー定義ポイントへ強制的に無条件分岐させることができます。
次のload.scrというサンプル・ファイルでは、LOADDATAコマンドの実行が成功しなかった場合、ファイルの終端に分岐されます。これにより、空のデータベースに対する計算およびレポート・スクリプト処理を回避できます:
LOGIN "localhost" "User1" "password" "Sample" "Basic"; LOADDATA 2 "calcdat"; IFERROR "Error"; CALC "Calc All;"; IFERROR "Error"; RUNREPT 2 "Myreport"; IFERROR "Error"; [possible other commands] EXIT; :Error
ESSCMDエラー・コマンドの構文と使用方法は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。
Essbaseには、Sample.Basicデータベースに基づいた、一般的なバッチ操作を示すサンプルのスクリプト・ファイルが付属しています。サンプルのスクリプト・ファイルは次のディレクトリにあります:
ARBORPATH
/app/Sample/Basic
sample1.scrファイルでは、次のアクションを実行します:
LOGIN "Poplar" "TomT" "Password"; SELECT "Sample" "Basic"; DISABLELOGIN; IMPORT 2 "ACTUALS" 4 "Y" 2 "ACTUAL" "N"; CALCDEFAULT; ENABLELOGIN; EXIT;
1つ以上のESSCMDスクリプトを実行し、オペレーティング・システムのコマンドを含むバッチ・ファイルを記述できます。バッチ・ファイルの記述に関する構文について学習するには、使用するオペレーティング・システムの説明書を参照してください。
オペレーティング・システムのバッチ・ファイルでは、ESSCMDコマンドの戻り値を使用して、そのバッチ・ファイルによって実行されるスクリプトのフローを制御できます。
ESSCMDプログラムでは、終了時に整数値が戻されます。この値は、最後に実行されたコマンドのステータス(通常はそのコマンドが成功したか失敗したか)を表します。この値をテストし、テストに失敗した場合はエラー処理応答に分岐するように、バッチ・ファイルを設定できます。このプロセスは、スクリプト・ファイルの作成と同様です。スクリプト・ファイル内でのコマンド・エラーの処理を参照してください。
たとえば、バッチ・ファイルに、データをロードするESSCMDバッチ・ファイル、データに対して計算を実行する計算スクリプト、および計算結果に関してレポートするレポート・スクリプトの3つのスクリプトが含まれているとします。ロードのバッチ・ファイルが失敗すると、計算とレポートも失敗します。この場合は、ファイルのロードが失敗した後でバッチ・ファイルを停止して、失敗の原因となったエラーを修正してから続行するのが最善の方法です。バッチ・ファイルでロード・プロセスの戻り値がテストされ、この戻り値が失敗を示す場合には、バッチ・ファイルは、ロードされなかったデータの計算を試みるのではなく、ファイルの末尾にジャンプして停止するか、または他のエラー処理プロシージャを実行できます。
次の例は、Windowsオペレーティング・システムのバッチ・ファイルと、そのファイルで実行されるESSCMDスクリプトの1つ(load.scr)のコンテンツを示しています。エラーチェック要件は多様なため、この例の構文は実際のオペレーティング・システムの構文とは一致しない可能性があります。バッチ・ファイルのエラー・チェックについては、ご使用のオペレーティング・システムのドキュメンテーションを参照してください。
オペレーティング・システムのバッチ・ファイルには次のようなコマンドが含まれている可能性があります:
ESSCMD LOAD.SCR If not %errorlevel%==0 goto Error ESSCMD CALC.SCR If not %errorlevel%==0 goto Error ESSCMD REPORT.SCR If not %errorlevel%==0 goto Error Echo All operations completed successfully EXIT :Error Echo There was a problem running the script