EssListDatabases() lists all databases which are accessible to the caller, either within a specific application, or on an entire server.
ESS_FUNC_M EssListDatabases (hCtx, AppName, pCount, ppDbList);
| ESS_HCTX_T | hCtx |
| ESS_STR_T | AppName |
| ESS_PUSHORT_T | pCount |
| ESS_PPAPPDB_T | ppDbList |
| hCtx | Essbase API context handle |
| AppName | Application name |
| pCount | Address of variable to receive count of applications and databases |
| ppDbList | Address of pointer to receive allocated array of application/databasename structures |
If successful, this function returns a count of the number of accessible databases in pCount, and a list of the application and database names in ppDbList.
This function requires no special privileges; note however that server databases will only be listed if the caller has access to them.
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);
}
EssGetDatabaseInfo()
EssGetDatabaseState()
EssListApplications()
EssListCurrencyDatabases()
EssListObjects()