Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionジョブ・スケジューリング・ガイド 11gリリース1(11.1.1) B66707-01 |
|
前 |
次 |
この章では、Oracle BI Schedulerを使用して、Oracle Business Intelligenceの機能を拡張する汎用的なスクリプトをスケジュールする方法について説明します。
スクリプトは、スタンドアロンのスクリプト・ジョブ(ジョブ・マネージャにおいて)、またはエージェントの末尾にタグ付けされるスクリプト・アクションにできます(エージェントの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』を参照してください)。両方のタイプのスクリプトで同じスクリプト機能を使用しますが、若干の例外があります。たとえば、スクリプト・アクションはエージェントにより配信される結果セットにアクセスできますが、スタンドアロンのスクリプト・ジョブは結果セットにアクセスできません。
Oracle BI Schedulerには、実行中のスクリプトをカプセル化するスクリプト・オブジェクトが含まれています。スクリプト・オブジェクトはスクリプトを表し、スクリプトのプロパティとメソッドを公開します。そのメソッドとプロパティは、名前が暗示されているため直接アクセスできます。たとえば、JobIDプロパティにアクセスするには、Script.JobIDではなくJobIDを指定できます。
注意: Oracle BI Schedulerのジョブ・マネージャにより定義されるエージェントとスクリプトの記述は、Windowsプラットフォームでのみサポートされ、UNIXではサポートされません。 |
この章では、カスタム・スクリプト・プロパティを構成する方法についてスクリプト例も含めて説明し、スクリプト・ジョブ・プロパティに関する詳細情報を提供します。内容は次のとおりです。
次の手順を使用して、Oracle BI Schedulerの既存スクリプトのプロパティを変更します。
このジョブをジョブ・マネージャでスタンドアロン・ジョブとして追加するには、第3.2項「ジョブ・マネージャにおけるOracle BI Schedulerのジョブの追加」を参照してください。
注意: プロパティを構成する前に、Oracle BI Schedulerのサーバー・コンピュータにスクリプトが存在する必要があります。 |
Oracle BI Schedulerのカスタム・スクリプト・プロパティを構成するには:
第6.4項「ジョブ・マネージャで利用可能なジョブ・アクション・プロパティ」に従ってカスタム・プロパティを設定します。
たとえば、purgeSASCache.jsスクリプトの場合、次の表に記載されている値を使用します。SASCache.jsスクリプトの例を表示するには、第4.2項「キャッシュをクリアするサンプル・カスタム・スクリプトの作成」を参照してください。
フィールド | 値または設定 |
---|---|
スクリプト・タイプ |
JScript |
「スクリプト」/スクリプト・ファイルのチェック・ボックス |
スクリプト・ファイル |
スクリプト |
purgeSASCache.js |
パラメータ(0): ユーザー |
管理者 |
パラメータ(1): パスワード |
|
「OK」をクリックします。
purgeSASCache.jsスクリプトを使用して、Oracle BI Serverからすべてのキャッシュを定期的にパージできます。ファイルは、次のディレクトリに保存されている必要があります。
ORACLE_INSTANCE\bifoundation\OracleBISchedulerComponent\coreapplication_obischn\scripts\common
///////////////////////////////////////////////////////// //purgeSASCache.js // //Purges the cache on SAS. //Parameter(0) - The user name to pass in to NQCMD. //Parameter(1) - The password for the aforementioned user. ///////////////////////////////////////////////////////// //The full path to nqcmd.exe var nqCmd = "[$INSTALLDIR]\\server\\Bin\\nqcmd.exe"; //The data source name var dsn = "BI Web"; //The user to execute the queries var user = Parameter(0); //The password of the aforementioned user var pswd = Parameter(1); //The ODBC procedure call for purging the cache var sqlStatement = "{call SAPurgeAllCache()};"; ////////////////////////////////////////////////////////// //Returns a string from the file name ////////////////////////////////////////////////////////// function GetOutput(fso, fileName) { var outStream = fso.OpenTextFile(fileName, 1); var output = outStream.ReadAll(); outStream.Close(); return output; } ////////////////////////////////////////////////////////// // Get WshShell object and run nqCmd. Capture the output // so that we can handle erroneous conditions. var wshShell = new ActiveXObject("WScript.Shell"); // Create a temp file to input the SQL statement. var fso = new ActiveXObject("Scripting.FileSystemObject"); var tempFolder = fso.GetSpecialFolder(2); var tempInFileName = fso.GetTempName(); var tempOutFileName = fso.GetTempName(); tempInFileName = tempFolder + "\\" + tempInFileName; tempOutFileName = tempFolder + "\\" + tempOutFileName; var tempInFile = fso.CreateTextFile(tempInFileName, true); tempInFile.WriteLine(sqlStatement); tempInFile.Close(); try { // execute var dosCmd = nqCmd + " -d \"" + dsn + "\" -u \"" + user + "\" -p \"" + pswd + "\" -s \"" + tempInFileName + "\"" + " -o \"" + tempOutFileName + "\""; wshShell.Run(dosCmd, 0, true); var output = GetOutput(fso, tempOutFileName); // Remove the temp files fso.DeleteFile(tempInFileName); if (fso.FileExists(tempOutFileName)) { fso.DeleteFile(tempOutFileName); } // Check the output for any errors if (output.indexOf("Processed: 1 queries") == -1) { ExitCode = -1; throw Error(-1, output); } else if (output.indexOf("Encountered") != -1) { ExitCode = -2; throw Error(-2, output); } ExitCode = 0; } catch (e) { if (fso.FileExists(tempInFileName)) { fso.DeleteFile(tempInFileName); } if (fso.FileExists(tempOutFileName)) { fso.DeleteFile(tempOutFileName); } throw e; }
Oracle BI Deliversにおいてエージェントの「アクション」タブでスクリプトのプロパティを設定します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』を参照してください。第3.5項「ジョブ・マネージャにおけるエージェントの変更」も参照してください。
注意: エージェントを作成する前に、Oracle BI Schedulerのサーバー・コンピュータにスクリプトが存在する必要があります。カスタム・スクリプトを作成してから、スクリプトをコールするエージェントを作成します。第4.4項「結果をファイル・システムにコピーするサンプル・カスタム・スクリプトの作成」を参照してください。 |
エージェントのカスタム・スクリプト・プロパティを構成するには:
Oracle BI EEのホーム・ページで、「新規」メニューをクリックしてから「エージェント」オプションを選択します。
「条件」タブを表示してから、「条件を使用」ボックスを選択します。
「作成」および「参照」をクリックし、分析を選択します。
「OK」をクリックします。
「OK」をクリックします。
「アクション」タブを表示します。
「新規アクションの追加」アイコンをクリックし、「サーバー・スクリプトの起動」メニュー・オプションを選択します。
「新規アクション - サーバー・スクリプトの起動」ダイアログが表示されます。
「ドキュメント・パラメータの追加」アイコンをクリックします。
パラメータの最初の行を選択し、「削除」ボタンをクリックします。
表示されているパラメータのプロパティを入力します。
たとえば、第4.4項「結果をファイル・システムにコピーするサンプル・カスタム・スクリプトの作成」に示されたスクリプトの場合、次の表で説明する値を使用します。
フィールド | 値または設定 |
---|---|
Language |
JavaScript |
スクリプト・パス |
createResultfile.js |
名前 |
パラメータの名前を入力します。 |
プロンプト |
プロンプトを入力します。たとえば、「Result Set:」などです。 |
値 |
リストから値を選択します。これによって、PDFなどの固定値がマップされます。 「条件分析」を選択します。 |
オプション |
チェック・ボックスの選択を解除します。 |
プラス・アイコンを使用して、2番目のパラメータの新規行を表示します。
「プロンプト」フィールドにResult Set Extensionと入力します。
「値」フィールドに.pdfと入力します。
「OK」をクリックします。
エージェントを保存します。
エージェントの条件付きリクエスト後にこのスクリプトが実行されます。
この例では、エージェントの結果を別のディレクトリにコピーするOracle BI Scheduler用スクリプトを構成します。スクリプトにより、条件付きリクエストの結果を含む一時ファイルがエージェント・ログ・ディレクトリにコピーされます。JobID、InstanceIDおよびUserIDをファイル名に使用して、エージェント、各ユーザー、またはこのスクリプトを共有するその他のエージェントの各実行で、結果セットが互いを上書きしないように保証します。
このジョブをエージェントに追加するには、第4.3項「Oracle BI Deliversのカスタム・スクリプト・プロパティの構成」を参照してください。
サンプル・スクリプトでは次の値を使用します。
Oracle BI Schedulerのコンピュータのエージェント・ログ・ディレクトリは、$OracleBI\instances\logs\Agentsになります($OracleBIはOracle Business Intelligenceソフトウェアがインストールされている場所です)。
エージェントは管理者として実行されます。
第4.3項「Oracle BI Deliversのカスタム・スクリプト・プロパティの構成」の表に従って、カスタム・スクリプト・プロパティが設定されます。
ジョブIDが101でインスタンスIDが1208の場合、ファイル名は101-1208-Administrator-AgentScript1.pdfになります。
エージェント実行後、この例では、Oracle BI SchedulerのコンピュータにD:\OracleBI\Log\Agents\101-1208-Administrator-AgentScript1.PDFというファイルが出力されます。
このファイルには条件付きリクエストの結果がPDF形式で格納されます。
連鎖しているエージェントのすべてのスクリプト・ジョブに対し、一時ファイルへのフルパス名はParameter(0)で指定されます。
///////////////////////////////////////////////////////////// // // createResultFile.js // // Copies the results in the temporary file to a new file name // // Parameter(0) = Agent Result File Path // Parameter(1) = Last Part of Output File Name (no path) // ///////////////////////////////////////////////////////////// var FSO = new ActiveXObject("Scripting.FileSystemObject"); var fileName = GetConfigurationValue("Log Dir", "Agents") + "\\" + JobID + "-" + InstanceID + "-" + UserID + "-" + Parameter(1); var fooFile = FSO.CopyFile(Parameter(0), fileName, true);
Oracle BI Schedulerでは、表4-1に記載されている読取り専用スクリプト・オブジェクト・プロパティがサポートされています。
表4-1 Oracle BI Schedulerの読取り専用スクリプト・オブジェクト・プロパティ
オブジェクト・プロパティ | 説明 | 戻り値 | 構文 |
---|---|---|---|
このインスタンスに関連付けられているジョブ識別番号を戻します。 |
long |
なし |
|
このインスタンスに関連付けられているインスタンス識別番号を戻します。 |
long |
なし |
|
ジョブ・スクリプトに関連付けられているジョブ・パラメータの数を戻します。 |
long |
なし |
|
Parameter (index) |
スクリプトに関連付けられている特定パラメータを戻します。指定された索引が0未満の場合や、ParameterCount-1より大きい場合、Parameter (index)はエラーを戻します。 |
string |
Parameter(index) indexは、パラメータのゼロベースの索引です。 |
スクリプト |
現在のスクリプトを表すスクリプト・オブジェクトを戻します。このオブジェクトはCOM IDispatchインタフェースを実装し、システムに存在する他のオブジェクトのメソッドに引数として渡すことができます。COM IDispatchの実装は、実行中インスタンスの取消しイベントを処理する際に特に便利です。詳細は、第4.8.6項「RegisterCancelCommandメソッド」を参照してください。 |
スクリプト・オブジェクト |
なし |
インスタンスに関連付けられているユーザー識別番号を戻します。 |
string |
なし |
Oracle BI Schedulerでは、表4-2に示されている読取り/書込みスクリプト・オブジェクト・プロパティがサポートされています。
表4-2 Oracle BI Schedulerの読取り/書込みスクリプト・オブジェクト・プロパティ
オブジェクト・プロパティ | 説明 | 戻り値 |
---|---|---|
実行中インスタンスのMessageプロパティを設定するか戻します。Messageプロパティには、意味のあるエラー情報を示す場合があります。この値を設定すると、現在のジョブ・スクリプト実行は停止せずに、ジョブ・インスタンスのMessageフィールドが変更されます。 JScriptのthrow()メソッドがコールされた際にこのプロパティが設定されていると、JScriptやVBScriptのエラー・オブジェクトにあるメッセージ記述に値が付加されます。 IDispatchインタフェースを実装するCOMオブジェクトは、ジョブ・スクリプト内からアクセスできます。メソッドが失敗した際にSetErrorInfo()メソッドにより適切にエラー情報が提供されると、その情報はジョブ・インスタンスのMessageフィールドに格納されます。COMオブジェクトのエラーが生成される前にMessageプロパティが設定されていると、その文字列値がCOMオブジェクトのエラー情報に付加されます。 |
string |
|
インスタンス・ステータスを設定します。いずれかのSeverity定数に設定できます。詳細は、第4.7.1項「Severity定数」を参照してください。デフォルトでは、nqSeverityInformationに設定されます。 |
string |
|
インスタンスに関連付けられているExitCodeプロパティを設定するか戻します。デフォルトは0(ゼロ)です。ExitCodeインスタンス・プロパティの説明は、第6.2.5項「ジョブ・マネージャのインスタンス・プロパティ」を参照してください。 |
long |
Oracle BI Schedulerでは、次のスクリプト定義定数がサポートされています。これらの定数は新しいジョブをスケジュールするメソッドで使用します。
このトピックは、第4.7項「Oracle BI Schedulerのスクリプト定義定数」の一部です。
スクリプトで戻されるMessage(エラー・メッセージ)のSeverityプロパティでSeverity定数を使用して、ジョブ・インスタンスのステータスを判別します。表4-3で、Severity値について説明します。
表4-3 Severity定数値
値 | 説明 |
---|---|
nqSeverityInformation |
ジョブ・インスタンスの情報のみがMessageに含まれている場合、SeverityプロパティをInformationに設定します。エラー条件は反映されません。インスタンス・ステータスはCompletedに設定されます。これは、Severityが設定されていない場合のデフォルトです。 |
nqSeverityWarning |
クリティカルでない失敗を示すテキストがMessageに含まれている場合、SeverityプロパティをWarningに設定します。インスタンス・ステータスはWarningに設定されます。 |
nqSeverityError |
クリティカルな失敗を示すテキストがMessageに含まれている場合、SeverityプロパティをErrorに設定します。インスタンス・ステータスはFailedに設定されます。 |
このトピックは、第4.7項「Oracle BI Schedulerのスクリプト定義定数」の一部です。
DayEnum値は、スケジュール関数で月の1日から31日までの識別に使用されます。表4-4で、DayEnum値について説明します。
このトピックは、第4.7項「Oracle BI Schedulerのスクリプト定義定数」の一部です。
DayOfWeekEnum値は、スケジュール関数で曜日の識別に使用されます。表4-5で、DayOfWeekEnum値について説明します。
このトピックは、第4.7項「Oracle BI Schedulerのスクリプト定義定数」の一部です。
JobFlagsEnum値は、スクリプト・オブジェクトのスケジュール・メソッドでジョブの動作の制御に使用されます。表4-6で、JobFlagsEnum値について説明します。
表4-6 JobFlagsEnum定数値
このトピックは、第4.7項「Oracle BI Schedulerのスクリプト定義定数」の一部です。
MonthEnum値は、スケジュール関数で月の識別に使用されます。表4-7で、MonthEnum値について説明します。
このトピックは、第4.7項「Oracle BI Schedulerのスクリプト定義定数」の一部です。
OccurrenceEnum値は、スケジュール関数で指定された日の繰返しの識別に使用されます。表4-8で、OccurrenceEnum値について説明しまです。
プログラムを記述する際、第4章「BI SchedulerのVBScriptジョブとJScriptジョブのプログラミング」で説明されているように、Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベントを使用します。次の各項でメソッドとイベントについて説明します。
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
配列オブジェクトを作成します。
使用方法: JScriptのローカル配列オブジェクトはScriptメソッドに直接渡すことができないため、このメソッドがJScript専用で用意されています。このメソッドをコールして、配列オブジェクトを作成し、配列を引数として受け取るScriptメソッドにその配列オブジェクトを渡します。
構文1: Set array = CreateArray ()
構文2: Set array = CreateArray (size)
構文3: Set array = CreateArray (element 0, element 1, ..., element n)
異なる構文に応じて、配列は次のように作成されます。
構文1では、サイズが0(ゼロ)の配列が作成されます。
構文2では、指定されたサイズで配列が作成されます。
構文3では、指定された要素が設定されて配列が作成されます。
例4-1 例
var i; var array1= CreateArray(2); for (i = 0; i < array1.Size; i++) { array1(i) = i; } array1.Resize(4); for (i = 2; i < array1.Size; i++) { array1(i) = i; } var array2 = CreateArray(0, 1, 2,3); for (i = 0; i < array2.Size; i++) { if (array1(i) != array2(i)) break; }
引数: CreateArrayメソッドの引数については、表4-9を参照してください。
戻り値: 配列オブジェクトを戻します。
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
以前に登録された取消しメソッドの登録を解除します。
使用方法: このメソッドをコールして、長時間の処理が正常に完了した後で、最近登録した取消しメソッドの登録を解除します。スクリプトが取り消された場合、このメソッドをコールする必要はありません。
構文: DeregisterCancelCommand
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
Oracle BI Schedulerのルート・レジストリ・エントリに対する構成の値を戻します。
使用方法: Oracle BI Schedulerに対するレジストリ設定の文字列値を戻します。configKey
とsubkeyPath
の文字列は、レジストリにあるそれらの文字列と同一にする必要があります。
構文: value = GetConfigurationValue(
configKey [,
subkeyPath])
引数: GetConfigurationValueメソッドの引数については、表4-10を参照してください。
戻り値: 文字列値を戻します。
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
一時ファイルの名前を戻します。
使用方法: GetTempFileName()ではファイルを作成しません。ファイル作成で使用する一時ファイルの名前を指定するのみです。スクリプトが終了しても、ジョブ・スクリプトで作成したファイルは自動的に削除されません。
構文: tfname = GetTempFileName()
戻り値: 文字列値を戻します。
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
コマンドラインを新しいプロセスで実行します。
使用方法: このメソッドをコールして、コマンドラインを新しいプロセスで実行します。wait引数がTrueに設定されていると、プロセスで返された終了コードをこのメソッドで返します。
構文: exitcode = LaunchProcess ( commandLine [, wait, terminateOnCancel] )
引数: LaunchProcessメソッドの引数については、表4-11を参照してください。
戻り値: ロング値を戻します。
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
スクリプトが取り消された際にコールされるメソッドを登録します。
使用方法: オブジェクトのメソッドが完了するのに時間がかかる場合があります。コールが戻る前にジョブが取り消されると、スクリプト・エンジンはコールが戻るまで待機する必要があります。これは数時間かかり、リソースを制限する場合があります。スクリプトが取り消されるとスクリプト・エンジンにより非同期にコールされるメソッドを登録することで、このメソッドにより問題が解決します。
長時間の処理を実行するメソッドをコールする前に、取消しメソッドを登録する必要があります。メソッドが戻ったら、DeregisterCancelCommand()をコールすることで取消しメソッドの登録を解除する必要があります。
COMオブジェクトの実装の詳細をコール側から隠し、COMオブジェクト自体で取消しコマンドのすべての登録と登録解除を処理することをお薦めします。スクリプト・オブジェクトがIDispatchインタフェースを実装しているので、スクリプト・オブジェクトのインスタンスをCOMオブジェクトに渡してから、RegisterCancelCommand()とDeregisterCancelCommand()のメソッドをコールします。
構文: RegisterCancelCommand source, methodName [,
arguments]...
引数: RegisterCancelCommandメソッドの引数については、表4-12を参照してください。
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
新しいジョブを日次トリガーでスケジュールします。
構文: ScheduleJobDaily name, description, scriptType, script, startDate, startTime, endTime, minutesInterval, daysInterval [,
parameters,
flags, maxRunTimeMS, maxConcurrentInstances, endDate]
引数: ScheduleJobDailyメソッドの引数については、表4-13を参照してください。
表4-13 ScheduleJobDailyメソッドの引数
引数 | 説明 |
---|---|
name |
ジョブの名前を指定する文字列です。 |
description |
ジョブの説明を指定する文字列です。 |
scriptType |
ジョブに関連付けられているスクリプト・タイプ(VBScriptまたはJScript)を指定する文字列です。 |
script |
(オプション)ジョブに関連付けられているスクリプト・コードまたはパス(nqJobScriptContainsPathフラグが設定されている場合)を指定する文字列です。 |
startDate |
ジョブがアクティブ化される日付を指定する日付値です。 |
startTime |
ジョブがアクティブ化される時間を指定する日付値です。 |
endTime |
ジョブが非アクティブ化される時間を指定する日付値です。 |
minutesInterval |
連続するジョブの実行間隔を分単位で指定するロング値です。 |
daysInterval |
ジョブの起動間隔を日数で指定する整数値です。 |
parameters |
(オプション)スクリプトに渡すパラメータ値の文字列配列です。デフォルトは空の配列です。 |
flags |
(オプション)ジョブに関連付けられているフラグを指定するロング値です。有効な設定については、第4.7.4項「JobFlagsEnum定数」を参照してください。デフォルトはnqJobNoFlagsです。 |
maxRunTimeMS |
(オプション)ジョブを停止するまでに実行する最長時間をミリ秒単位で指定するロング値です。デフォルトは0(ゼロ)で、この場合ジョブを無期限に実行できることを意味します。 |
maxConcurrentInstances |
(オプション)このジョブの同時実行インスタンスの最大数を指定するロング値です。デフォルトは0(ゼロ)で、この場合制限がないことを意味します。 |
endDate |
(オプション)ジョブが非アクティブ化される時間を指定する日付値です。 |
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
新しいジョブを指定月の指定日のトリガーでスケジュールします。
構文: ScheduleJobMonthlyDate name, description, scriptType, script, startDate, startTime, endTime, minutesInterval, whichDays, whichMonths [,
parameters,
flags, maxRunTimeMS, maxConcurrentInstances, endDate]
引数: ScheduleJobMonthlyDateメソッドの引数については、表4-14を参照してください。
表4-14 ScheduleJobMonthlyDateメソッドの引数
引数 | 説明 |
---|---|
name |
ジョブの名前を指定する文字列です。 |
description |
ジョブの説明を指定する文字列です。 |
scriptType |
ジョブに関連付けられているスクリプト・タイプ(VBScriptまたはJScript)を指定する文字列です。 |
script |
(オプション)ジョブに関連付けられているスクリプト・コードまたはパス(nqJobScriptContainsPathフラグが設定されている場合)を指定する文字列です。 |
startDate |
ジョブがアクティブ化される日付を指定する日付値です。 |
startTime |
ジョブがアクティブ化される時間を指定する日付値です。 |
endTime |
ジョブが非アクティブ化される時間を指定する日付値です。 |
minutesInterval |
連続するジョブの実行間隔を分単位で指定するロング値です。 |
whichDays |
ジョブを実行する月の日を指定するロング値です。有効な設定については、第4.7.2項「DayEnum定数」を参照してください。 |
whichMonths |
ジョブを実行する月を指定する整数値です。有効な設定については、第4.7.5項「MonthEnum定数」を参照してください。 |
parameters |
(オプション)スクリプトに渡すパラメータ値の文字列配列です。デフォルトは空の配列です。 |
flags |
(オプション)ジョブに関連付けられているフラグを指定するロング値です。有効な設定については、第4.7.4項「JobFlagsEnum定数」を参照してください。デフォルトはnqJobNoFlagsです。 |
maxRunTimeMS |
(オプション)ジョブを停止するまでに実行する最長時間をミリ秒単位で指定するロング値です。デフォルトは0(ゼロ)で、この場合ジョブを無期限に実行できることを意味します。 |
maxConcurrentInstances |
(オプション)このジョブの同時実行インスタンスの最大数を指定するロング値です。デフォルトは0(ゼロ)で、この場合制限がないことを意味します。 |
endDate |
(オプション)ジョブが非アクティブ化される時間を指定する日付値です。 |
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
新しいジョブをDOW(指定月の指定曜日)トリガーでスケジュールします。
構文: ScheduleJobMonthlyDOW name, description, scriptType, script, startDate, startTime, endTime, minutesInterval, whichOccurrences, whichDays, whichMonths [,
parameters,
flags, maxRunTimeMS, maxConcurrentInstances, endDate]
引数: ScheduleJobMonthlyDOWメソッドの引数については、表4-15を参照してください。
表4-15 ScheduleJobMonthlyDOWメソッドの引数
引数 | 説明 |
---|---|
name |
ジョブの名前を指定する文字列です。 |
description |
ジョブの説明を指定する文字列です。 |
scriptType |
ジョブに関連付けられているスクリプト・タイプ(VBScriptまたはJScript)を指定する文字列です。 |
script |
(オプション)ジョブに関連付けられているスクリプト・コードまたはパス(nqJobScriptContainsPathフラグが設定されている場合)を指定する文字列です。 |
startDate |
ジョブがアクティブ化される日付を指定する日付値です。 |
startTime |
ジョブがアクティブ化される時間を指定する日付値です。 |
endTime |
ジョブが非アクティブ化される時間を指定する日付値です。 |
minutesInterval |
連続するジョブの実行間隔を分単位で指定するロング値です。 |
whichOccurrences |
ジョブを実行する曜日の繰返しを指定する整数値です。有効な設定については、第4.7.2項「DayEnum定数」を参照してください。 |
whichDays |
ジョブを実行する曜日を指定する整数値です。有効な設定については、第4.7.3項「DayOfWeekEnum定数」を参照してください。 |
whichMonths |
ジョブを実行する月を指定する整数値です。有効な設定については、第4.7.5項「MonthEnum定数」を参照してください。 |
parameters |
(オプション)スクリプトに渡すパラメータ値の文字列配列です。デフォルトは空の配列です。 |
flags |
(オプション)ジョブに関連付けられているフラグを指定するロング値です。有効な設定については、第4.7.4項「JobFlagsEnum定数」を参照してください。デフォルトはnqJobNoFlagsです。 |
maxRunTimeMS |
(オプション)ジョブを停止するまでに実行する最長時間をミリ秒単位で指定するロング値です。デフォルトは0(ゼロ)で、この場合ジョブを無期限に実行できることを意味します。 |
maxConcurrentInstances |
(オプション)このジョブの同時実行インスタンスの最大数を指定するロング値です。デフォルトは0(ゼロ)で、この場合制限がないことを意味します。 |
endDate |
(オプション)ジョブが非アクティブ化される時間を指定する日付値です。 |
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
新しいジョブを即時実行トリガーでスケジュールします。
構文: ScheduleJobNow name, description, scriptType, script [,
parameters,
flags, maxRunTimeMS]
引数: ScheduleJobNowメソッドの引数については、表4-16を参照してください。
表4-16 ScheduleJobNowメソッドの引数
引数 | 説明 |
---|---|
name |
ジョブの名前を指定する文字列です。 |
description |
ジョブの説明を指定する文字列です。 |
scriptType |
ジョブに関連付けられているスクリプト・タイプ(VBScriptまたはJScript)を指定する文字列です。 |
script |
(オプション)ジョブに関連付けられているスクリプト・コードまたはパス(nqJobScriptContainsPathフラグが設定されている場合)を指定する文字列です。 |
parameters |
(オプション)スクリプトに渡すパラメータ値の文字列配列です。デフォルトは空の配列です。 |
flags |
(オプション)ジョブに関連付けられているフラグを指定するロング値です。有効な設定については、第4.7.4項「JobFlagsEnum定数」を参照してください。デフォルトはnqJobNoFlagsです。 |
maxRunTimeMS |
(オプション)ジョブを停止するまでに実行する最長時間をミリ秒単位で指定するロング値です。デフォルトは0(ゼロ)で、この場合ジョブを無期限に実行できることを意味します。 |
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
新しいジョブを1回実行トリガーでスケジュールします。
構文: ScheduleJobOnce name, description, scriptType, script, startDate, startTime [,
parameters,
flags, maxRunTimeMS]
引数: ScheduleJobOnceメソッドの引数については、表4-17を参照してください。
表4-17 ScheduleJobOnceメソッドの引数
引数 | 説明 |
---|---|
name |
ジョブの名前を指定する文字列です。 |
description |
ジョブの説明を指定する文字列です。 |
scriptType |
ジョブに関連付けられているスクリプト・タイプ(VBScriptまたはJScript)を指定する文字列です。 |
script |
(オプション)ジョブに関連付けられているスクリプト・コードまたはパス(nqJobScriptContainsPathフラグが設定されている場合)を指定する文字列です。 |
startDate |
ジョブがアクティブ化される日付を指定する日付値です。 |
startTime |
ジョブがアクティブ化される時間を指定する日付値です。 |
parameters |
(オプション)スクリプトに渡すパラメータ値の文字列配列です。デフォルトは空の配列です。 |
flags |
(オプション)ジョブに関連付けられているフラグを指定するロング値です。有効な設定については、第4.7.4項「JobFlagsEnum定数」を参照してください。デフォルトはnqJobNoFlagです。 |
maxRunTimeMS |
(オプション)ジョブを停止するまでに実行する最長時間をミリ秒単位で指定するロング値です。デフォルトは0(ゼロ)で、この場合ジョブを無期限に実行できることを意味します。 |
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
新しいジョブを週次トリガーでスケジュールします。
構文: ScheduleJobWeekly name, description, scriptType, script, startDate, startTime, endTime, minutesInterval, weeksInterval, whichDays [, parameters, flags, maxRunTimeMS, maxConcurrentInstances, endDate]
引数: ScheduleJobWeeklyメソッドの引数については、表4-18を参照してください。
表4-18 ScheduleJobWeeklyメソッドの引数
引数 | 説明 |
---|---|
name |
ジョブの名前を指定する文字列です。 |
description |
ジョブの説明を指定する文字列です。 |
scriptType |
ジョブに関連付けられているスクリプト・タイプ(VBScriptまたはJScript)を指定する文字列です。 |
script |
(オプション)ジョブに関連付けられているスクリプト・コードまたはパス(nqJobScriptContainsPathフラグが設定されている場合)を指定する文字列です。 |
startDate |
ジョブがアクティブ化される日付を指定する日付値です。 |
startTime |
ジョブがアクティブ化される時間を指定する日付値です。 |
endTime |
ジョブが非アクティブ化される時間を指定する日付値です。 |
minutesInterval |
連続するジョブの実行間隔を分単位で指定するロング値です。 |
weeksInterval |
ジョブの起動間隔を週数で指定するロング値です。 |
whichDays |
ジョブを実行する曜日を指定する整数値です。有効な設定については、第4.7.3項「DayOfWeekEnum定数」を参照してください。 |
parameters |
(オプション)スクリプトに渡すパラメータ値の文字列配列です。デフォルトは空の配列です。 |
flags |
(オプション)ジョブに関連付けられているフラグを指定するロング値です。有効な設定については、第4.7.4項「JobFlagsEnum定数」を参照してください。デフォルトはnqJobNoFlagsです。 |
maxRunTimeMS |
(オプション)ジョブを停止するまでに実行する最長時間をミリ秒単位で指定するロング値です。デフォルトは0(ゼロ)で、この場合ジョブを無期限に実行できることを意味します。 |
maxConcurrentInstances |
(オプション)このジョブの同時実行インスタンスの最大数を指定するロング値です。デフォルトは0(ゼロ)で、この場合制限がないことを意味します。 |
endDate |
(オプション)ジョブが非アクティブ化される時間を指定する日付値です。 |
このトピックは、第4.8項「Oracle BI Schedulerのスクリプト・オブジェクトのメソッドとイベント」の一部です。
スクリプト実行中にスクリプト・エンジンでランタイム・エラーが生じた際に発生します。これはクリーンアップのためのものですが、try/catchブロックをJScriptで活用したり適切なエラー処理をVBScriptで行うことが、このイベントを使用するよりも優れた代替手段になる場合も多くあります。
使用方法: スクリプト実行中にスクリプト・エンジンでランタイム・エラーが発生すると、スクリプト・エンジンはこのプロシージャをコールします。スクリプトが終了する前に、一時ファイルの削除やリソースの解放などのクリーンアップ処理を実行するように、このプロシージャをスクリプトで定義します。
構文: OnError
nQSError: 66001] ActiveXスクリプト・エンジンの作成に失敗しました。のエラーでJScriptやVBScriptのジョブが失敗した場合、必要なスクリプト・エンジン(VBScriptまたはJScript)がこのコンピュータで利用できないか壊れています。
VBScriptが失敗した場合はregsvr32 vbscript.dll
コマンドを、JScriptが失敗した場合はregsvr32 jscript.dll
コマンドをそれぞれ実行することでスクリプトDLLファイルをWindowsに再登録できます。失敗したモジュールが見つかりませんでしたのメッセージが戻された場合、Windowsインストールを修復して、足りないDLLファイルを再設定する必要があります。リストア・ポイントにロールバックするか、オペレーティング・システム・インストール用オリジナル・ディスクを使用して修復することでこれを実現できます。