ユーザーが1つ以上のデータベース操作を完了してEssbaseを終了した後、プログラムはサーバーからログアウトします。ログアウトは、明示的なユーザー要求の結果として、または自動的(たとえば特定のアクション・シーケンスが完了した後)に実行されます。すべてのアクティブな接続もログアウトされてから、プログラムが終了します。
プログラムが常にデータ・アクセス操作のたびにログアウトする必要があるとはかぎりません。ログアウト(Essbaseサーバーのポートを解放する)するかログインしたままにする(後続のユーザー要求への応答を速くする)かは、設計上の判断です。
/* C Example of logging a user out */
ESS_STS_T sts;
ESS_HCTX_T hCtx;
sts = EssLogout (hCtx);
hCtx = ESS_INVALID_HCTX;
' VB Example of logging a user out
Dim sts as ESB_STS_T
Dim hCtx as ESB_HCTX_T
sts = EsbLogout (hCtx)
hCtx = ESB_INVALID_HCTX
ログアウトした後、同じコンテキスト・ハンドルを使用しないでください。プログラムがクラッシュすることがあります。
ローカル・コンテキスト・ハンドルの処分が必要な場合は、次のEsxDeleteLocalContext()を使用してください:
/* C Example of deleting a local context handle */
ESS_STS_T sts;
ESS_HCTX_T hLocalCtx;
sts = EssDeleteLocalContext (&hLocalCtx);
' VB Example of deleting a local context handle
Dim sts as ESB_STS_T
Dim hLocalCtx as ESB_HCTX_T
sts = EsbDeleteLocalContext (hLocalCtx)