EssLogin

Logs in a user to an Essbase Server. This function should normally be called after executing a successful call to EssInit, and prior to making any other API calls which require a context handle argument.

Syntax

ESS_FUNC_M EssLogin (hInstance, Server, UserName, Password, pDbCount, ppDbList, phCtx);
ParameterData TypeDescription

hInstance

ESS_HINST_T

API instance handle.

Server

ESS_STR_T

Network server name string.

The server name can be expressed as hostname, hostname:port, or as a URL representing the APS servlet endpoint with the Essbase failover cluster name; for example:.

http://myhost:13080/aps/Essbase?clustername=Essbase-Cluster1

For secure mode (SSL), the URL syntax is

http[s]://host:port/aps/Essbase?ClusterName=logicalName&SecureMODE=yesORno

For example,

https://myhost:13080/aps/Essbase?clustername=Essbase-Cluster1&SecureMODE=Yes

UserName

ESS_STR_T

User name string.

Password

ESS_STR_T

Password string.

pDbCount

ESS_PUSHORT_T

Address of variable to receive count of accessible applications/databases.

ppDbList

ESS_APPDB_T

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

phCtx

ESS_PHCTX_T

Pointer to an Essbase Server context handle.

Notes

Return Value

If successful, returns an Essbase Server context handle in phCtx, which can be used as an argument in subsequent calls to other API functions. Also returns a count of databases accessible to the specified user in pCount, and a list of accessible applications and databases in ppDbList.

Access

Before calling this function, you must first initialize the API and obtain a valid instance handle by calling EssInit.

Example

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

See Also