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);
Parameter | Data Type | Description |
---|---|---|
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
If you are programming in Microsoft Windows, you should consider using the EssAutoLogin function instead of EssLogin.
Memory allocated for ppDbList must be freed using EssFree.
You can call EssLogin more than once for the same user name and server. The API returns a unique context handle for each login to the specified server.
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