データベースへの接続

多数の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())によって戻されます。このアクセス・レベルは、セキュリティ定数定義を使用して確認できます。セキュリティ定数定義によって、メニューのグレー表示などにより、アプリケーション・プログラムによるユーザー・オプションの変更が可能になります。