アクティブ・データベースに更新指定の送信を開始し、更新用にロックされたデータ・ブロックのロックを解除できます。更新データはデータベースに保管することも、確認のみ行ってエラーがあれば戻すこともできます。
構文
ESS_STS_T EssBeginDataload (
hCtx, Store, Unlock, abortOnError, pRules
);
パラメータ | データ型 | 説明 |
---|---|---|
hCtx; |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
Store; |
ESS_BOOL_T |
データの保管を制御します。TRUEの場合は、データがサーバーに保管されます。FALSEの場合はデータは保管されません。 |
Unlock; |
ESS_BOOL_T |
データ・ブロックのロック解除を制御します。TRUEの場合、ロックされているすべての関連ブロックのロックが解除されます(必要に応じてデータの保管後)。FALSEの場合、ブロックのロックは解除されません。 |
abortOnError; |
ESS_BOOL_T |
TRUEの場合、最初のエラーでデータ・ロードが停止します。それ以外の場合は、データ・ロードを続行します。 |
pRules; |
ESS_OBJDEF_T |
ルール・ファイル・オブジェクト定義構造体へのポインタ。 |
備考
この関数の後に、EssSendStringを少なくとも1回呼び出して更新指定を送信し、次にEssEndDataloadを呼び出す必要があります。
EssBeginDataloadの後に呼び出したEssSendStringへ渡される各文字列の末尾は、改行復帰文字シーケンス("\r\n")である必要があります。
StoreおよびUnlockの両方のフラグがFALSEに設定されている場合、データベースは更新指定の構文確認のみを行います。
誤った入力行以降の入力行(レコード)を無視するEssBeginUpdateとは異なり、この関数は残りの入力行も処理し、必要に応じてコミットします。
EssEndDataloadは、ESS_MBRERR_Tにエラーのリンク・リストを戻します。
Unicode対応Essbaseアプリケーションとの通信にCのメインAPIを使用するUnicodeクライアントは、この関数の呼出し直後に、テキスト・ストリーム内のUTF-8でエンコードされたバイト・オーダー・マーク(BOM)を送信する必要があります。例としては、バイト・オーダー・エンコーディングの指定を参照してください。
戻り値
なし。
アクセス
EssBeginDataloadを使用するには、呼出し元がアクティブなデータベースに対する書込み権限(ESS_PRIV_WRITE)を持っている必要があります。
例
ESS_STS_T sts = ESS_STS_NOERR; ESS_BOOL_T Store; ESS_BOOL_T Unlock; ESS_STR_T Query1, Query2; ESS_PMBRERR_T pMbrErr; Store = ESS_TRUE; Unlock = ESS_FALSE; Query1 = "Year Market Scenario Measures Product 12345"; Query2 = " Jan East Scenario Measures Coke 125"; /* Begin Update */ sts = EssBeginDataload (hCtx, Store, Unlock, ESS_FALSE, ESS_NULL); /* Send update specification */ if(!sts) sts = EssSendString(hCtx, Query1); sts = EssSendString(hCtx, Query2); /* End Update */ if(!sts) sts = EssEndDataload(hCtx, &pMbrErr);
関連トピック