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);
ParameterData TypeDescription

hCtx

ESS_HCTX_T

API context handle

AppName

ESS_STR_T

Application name

pCount

ESS_PUSHORT_T

Address of variable to receive count of applications and databases

ppDbList

ESS_APPDB_T

Address of pointer to receive allocated array of application/databasename structures

Notes

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.

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