ユーザーをEssbaseサーバーにログインさせます。この関数は通常、EssInitの呼出しを正しく実行した後で、かつコンテキスト・ハンドルの引数が必要な他のAPIの呼出しを実行する前に呼び出す必要があります。
構文
ESS_FUNC_M EssLogin (
hInstance, Server, UserName, Password, pDbCount, ppDbList, phCtx
);
パラメータ | データ型 | 説明 |
---|---|---|
hInstance |
ESS_HINST_T |
APIインスタンス・ハンドル。 |
Server |
ESS_STR_T |
ネットワーク・サーバー名の文字列。 サーバー名は、hostname、hostname:port、またはAPSサーブレットのエンドポイントにEssbaseフェイルオーバー・クラスタ名を付加したURLとして表すことができます。次に例を示します: http://myhost:13080/aps/Essbase?clustername=Essbase-Cluster1 保護モード(SSL)の場合、URLの構文は次のとおりです http[s]://host:port/aps/Essbase?ClusterName=logicalName&SecureMODE=yesORno たとえば、 https://myhost:13080/aps/Essbase?clustername=Essbase-Cluster1&SecureMODE=Yes |
UserName |
ESS_STR_T |
ユーザー名の文字列。 |
Password |
ESS_STR_T |
パスワード文字列。 |
pDbCount |
ESS_PUSHORT_T |
アクセス可能なアプリケーションとデータベースのカウントを受け取る変数のアドレス。 |
ppDbList |
ESS_APPDB_T |
割り当てられたアプリケーション/データベース名構造体の配列を受け取るポインタのアドレス。 |
phCtx |
ESS_PHCTX_T |
Essbaseサーバー・コンテキスト・ハンドルへのポインタ。 |
備考
Microsoft Windowsでプログラミングしている場合は、EssLoginのかわりにEssAutoLogin関数の使用を検討する必要があります。
ppDbListに対して割り当てられたメモリーは、EssFreeを使用して解放する必要があります。
同じユーザー名とサーバーに対してこの関数を複数回呼び出せます。指定したサーバーに対してログインするたびに、APIから一意のコンテキスト・ハンドルが戻されます。
戻り値
成功の場合、Essbaseサーバー・コンテキスト・ハンドルがphCtxに戻され、他のAPI関数への後続の呼出しで引数として使用できます。また、指定したユーザーがアクセス可能なデータベース数がpCountに戻され、アクセス可能なアプリケーションおよびデータベースのリストがppDbListに戻されます。
アクセス
この関数を呼び出す前に、EssInitを呼び出して、最初にAPIを初期化し有効なインスタンス・ハンドルを取得する必要があります。
例
ESS_FUNC_M ESS_Login (ESS_HINST_T hInst) { ESS_FUNC_M sts = ESS_STS_NOERR; ESS_HCTX_T hCtx; ESS_USHORT_T Items; ESS_USHORT_T ind; ESS_PAPPDB_T pAppsDbs = NULL; ESS_STR_T SvrName; ESS_STR_T User; ESS_STR_T Password; SvrName = "POPLAR"; User = "Joseph"; Password = "Password"; sts = EssLogin (hInst, SvrName, User, Password, &Items, &pAppsDbs, &hCtx); if (!sts) { for (ind = 0; ind < Items; ind++) { if ((pAppsDbs+ind) != NULL) { if ((pAppsDbs[ind].AppName != NULL) && (pAppsDbs[ind].DbName != NULL)) { printf ("%s\r\n", pAppsDbs[ind].AppName); printf ("%s\r\n", pAppsDbs[ind].DbName); } } } } return(sts); }
関連トピック