呼出し元がアクセス可能な、特定のアプリケーション内またはサーバー全体の、すべてのデータベースをリストします。
構文
ESS_FUNC_M EssListDatabases (
hCtx, AppName, pCount, ppDbList
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
AppName |
ESS_STR_T |
アプリケーション名。 |
pCount |
ESS_PUSHORT_T |
アプリケーションおよびデータベースのカウントを受け取る変数のアドレス。 |
ppDbList |
ESS_APPDB_T |
割り当てられたアプリケーション/データベース名構造体の配列を受け取るポインタのアドレス。 |
備考
AppName引数がNULLの場合は、この関数はサーバー上のアクセス可能なアプリケーションとデータベースをすべてリストします。
ppDbList引数は、アプリケーションおよびデータベース名文字列の一致する対を含む構造体の配列を戻します。
ppDbListに対して割り当てられたメモリーは、EssFreeを使用して解放する必要があります。
戻り値
正常終了の場合、アクセス可能なデータベース数のカウントがpCountに、アプリケーションおよびデータベース名のリストがppDbListに戻されます。
アクセス
この関数を使用するのに、特別な権限は必要ありません。ただし、呼出し元がアクセスする場合、サーバー・データベースのみがリストされることに注意してください。
例
ESS_FUNC_M
ESS_ListDbs (ESS_HCTX_T hCtx,
ESS_HINST_T hInst
)
{
ESS_FUNC_M sts = ESS_STS_NOERR;
ESS_USHORT_T Items;
ESS_USHORT_T ind;
ESS_PAPPDB_T pAppsDbs = NULL;
sts = EssListDatabases (hCtx, NULL, &Items,
&pAppsDbs);
if (!sts)
{
if (Items && pAppsDbs)
{
printf ("\r\n-----Applications/databases available-----\r\n");
for (ind = 0; ind < Items; ind++)
{
if ((pAppsDbs+ind) != NULL)
{
if ((pAppsDbs[ind].AppName != NULL) &&
(pAppsDbs[ind].DbName != NULL))
{
printf ("%s", pAppsDbs[ind].AppName);
printf (" ==> ");
printf ("%s", pAppsDbs[ind].DbName);
printf ("\n\r");
}
}
}
EssFree (hInst, pAppsDbs);
}
else
printf ("\r\ndatabaseList is Empty\r\n\r\n");
}
return(sts);
}
関連トピック