EssListDatabases

Description

EssListDatabases() lists all databases which are accessible to the caller, either within a specific application, or on an entire server.

Syntax

ESS_FUNC_M EssListDatabases (hCtx, AppName, pCount, ppDbList);
ESS_HCTX_ThCtx
ESS_STR_TAppName
ESS_PUSHORT_TpCount
ESS_PPAPPDB_T ppDbList

Parameters

hCtxEssbase API context handle
AppNameApplication name
pCountAddress of variable to receive count of applications and databases
ppDbListAddress of pointer to receive allocated array of application/databasename structures

Return Value

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.

Notes

Access

This function requires no special privileges; note however that server databases will only be listed if the caller has access to them.

Example

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);
}

See Also

EssGetDatabaseInfo()
EssGetDatabaseState()
EssListApplications()
EssListCurrencyDatabases()
EssListObjects()