多数のEssbase API関数(サーバー管理、セキュリティ、アウトライン保守など)は、プログラムのログイン後に実行されます。ただし、データベース関連の関数には(たとえばレポート生成や計算実行など)、プログラムが特定のアプリケーションやデータベースを接続していなければならないものも多数あります。EsxSetActive()を使用して該当するEssbaseデータベースを識別してください。EsxAutoLogin()を使用してログインして、該当するデータベースを識別することもできます。
ユーザーはデータベースへのアクセスに必要な権限を持っている必要があります。特定のユーザーがアクセス可能なすべてのアプリケーションとデータベースのリストは、EsxLogin()で戻され、EsxListDatabases()を使用して入手可能です。
稼働していないデータベースに接続した場合、Essbaseはデータベースを自動的に起動します。データベースから切断する必要はありません。ただし、同じログイン・コンテキスト・ハンドルを使用して別なデータベースに接続すると、元のデータベースとの接続は切断されます。同時にどうしても複数のデータベースに接続する必要がある場合は、プログラムで複数回ログイン(そして各コンテキスト・ハンドルを個別に管理)する必要があります。
/* C Example of connecting to a database */ ESS_STS_T sts; ESS_HCTX_T hCtx; ESS_APPNAME_T AppName = "Sample"; ESS_DBNAME_T DbName = "Basic"; ESS_ACCESS_T Access; sts = EssSetActive (hCtx, AppName, DbName, &Access); ' VB Example of connecting to a database Dim sts as ESB_STS_T Dim hCtx as ESB_HCTX_T Dim AppName as ESB_APPNAME_T Dim DbName as ESB_DBNAME_T Dim Access as ESB_ACCESS_T AppName = "Sample" DbName = "Basic" sts = EsbSetActive (hCtx, AppName, DbName, Access)
選択したデータベースへのユーザーのアクセス権は、EssSetActive(およびEsxAutoLogin())によって戻されます。このアクセス・レベルは、セキュリティ定数定義を使用して確認できます。セキュリティ定数定義によって、メニューのグレー表示などにより、アプリケーション・プログラムによるユーザー・オプションの変更が可能になります。