多次元データソース¶
Virtual DataPort は、SAP BW3、SAP BI 7、Mondrian、Oracle Essbase、Microsoft SQL Server Analysis Services などの多次元データベースからデータを取得できます。
異なるタイプの多次元データベースにアクセスするために 4 つのタイプのデータソースがあります。
ESSBASE
: Oracle Essbase データベースに接続します。ESSBASE
データソースを作成する前に、次の操作を行います。OLAP
: XMLA インターフェイスを提供する多次元データベースに接続します。例として、Mondrian と Microsoft SQL Server Analysis Services があります。SAPBWBAPI
: SAP JCo コネクターを使用して SAP に接続します。
Administration Tool では、これらのデータソースはすべて、1 つのタイプの多次元データソースであるかのようにグループ化されています。
データソース OLAP
と SAPBWBAPI
は、コネクションプールを使用して、データベースへのコネクションを管理します。
以下の例は、次の多次元データベースに接続するデータソースを作成および変更するためのコマンドの構文を示しています。
SAPBWBAPI
ESSBASE
OLAP
SAP BAPI を用いた多次元データソースの作成¶
CREATE [ OR REPLACE ] DATASOURCE SAPBWBAPI <name:identifier>
[ FOLDER = <literal> ]
DATABASENAME = <literal>
DATABASEVERSION = <literal>
SYSTEMNAME = <literal>
[ SAPROUTER = <literal> ]
[ LANGUAGE = <literal> ]
<connection type>
CLIENTID = <literal>
[ USE_KERBEROS ]
{
<credentials>
| WITH PASS-THROUGH SESSION CREDENTIALS ( <credentials> )
}
[ SAP_APP_SERVER = <literal> ]
READBLOCKSIZE = <integer>
[
SNC_LIBRARY = <literal>
SNC_PARTNER_NAME = <literal>
SNC_QOP = <integer>
]
[
MAXACTIVE = <integer>
MAXIDLE = <integer>
MAXWAIT = <integer>
MINEVICTABLEIDLETIME = <integer>
TIMEBETWEENEVICTION = <integer>
]
[ TRANSFER_RATE_FACTOR = <double> ]
[ DESCRIPTION = <literal> ]
<connection type> ::=
<direct connection>
| <logon load balanced connection>
<direct connection> ::=
HOSTNAME = <literal>
SYSTEMNUMBER = <literal>
<logon load balanced connection> ::=
MESSAGE_HOST = <literal>
[ MESSAGE_SERVICE = <literal> ]
SID = <literal>
[ GROUP = <literal> ]
<credentials> ::=
USERNAME = <literal> USERPASSWORD = <literal> [ ENCRYPTED ]
ALTER DATASOURCE SAPBWBAPI <name:identifier>
[ DATABASENAME = <literal> ]
[ DATABASEVERSION = <literal> ]
[ SYSTEMNAME = <literal> ]
[ HOSTNAME = <literal> ]
[ MESSAGE_HOST = <literal> ]
[ MESSAGE_SERVICE = <literal> ]
[ SID = <literal> ]
[ GROUP = <literal> ]
[ CLIENTID = <literal> ]
[ SYSTEMNUMBER = <literal> ]
[ USE_KERBEROS ]
[
<credentials>
| WITH PASS-THROUGH SESSION CREDENTIALS ( <credentials> )
]
[ SAP_APP_SERVER = <literal> ]
[ READBLOCKSIZE = <integer> ]
[
SNC_LIBRARY = <literal>
SNC_PARTNER_NAME = <literal>
SNC_QOP = <integer>
]
[ MAXACTIVE = <integer> ]
[ MAXIDLE = <integer> ]
[ MAXWAIT = <integer> ]
[ MINEVICTABLEIDLETIME = <integer> ]
[ TIMEBETWEENEVICTION = <integer> ]
[ TRANSFER_RATE_FACTOR = <double> ]
[ DESCRIPTION = <literal> ]
<credentials> ::=
USERNAME = <literal> USERPASSWORD = <literal> [ ENCRYPTED ]
SYSTEMNAME
: SAP ERP の SAP システム ID。SAPROUTER
: SAP ルーターとターゲットサーバー間のルート。USERNAME
: SAP にアクセスするために使用されるユーザー名。LANGUAGE
: SAP サーバーとの間で確立するコネクションの言語。コネクションタイプ :
コネクションタイプが「Direct」の場合、以下の値を入力します。
HOSTNAME
: SAP が動作しているホスト。SYSTEMNUMBER
: 同じホスト上で動作している複数の SAP インスタンスを区別する 2 桁の番号。
コネクションタイプが「Logon load balanced」の場合、以下の値を入力します。
MESSAGE_HOST
: 適切なアプリケーションサーバーを選択するためのデータを提供する SAP サーバーのホスト。MESSAGE_SERVICE
: 「SAP メッセージサーバー」がコネクションのために利用するポート。SID
: SAP システムのシステム ID。GROUP
: SAP アプリケーションサーバーのグループの名前。
CLIENTID
: クライアントの ID。USE_KERBEROS
: Kerberos 認証を使用するかどうかを示す修飾子。この修飾子が存在する場合、SAP_APP_SERVER
パラメータは必須です。USERNAME
: SAP にアクセスするために使用されるユーザー名。USERPASSWORD
: ユーザーのパスワード。パスワードはプレーンテキストで、または暗号化して設定できます。暗号化して設定する場合は、パスワードの後にENCRYPTED
修飾子を追加します。暗号化されたパスワードを生成するには、
ENCRYPT_PASSWORD
ステートメントに続けてパスワードを指定して実行します。たとえば、ENCRYPT_PASSWORD 'password';
です。WITH PASS-THROUGH SESSION CREDENTIALS
修飾子は、あるユーザーが、このオプションを指定されたデータソースを使用するビューにクエリを実行する場合、Virtual DataPort がこのユーザーの資格情報を使用して SAP に接続することを意味します。この修飾子では、USERNAME
パラメータとPASSWORD
パラメータの値は、Administration Tool がデータベースに接続し、データベースとそのテーブルやビューのスキーマを表示するためにのみ使用されます。データベースのテーブルやビューにクエリを実行するためには使用されません。このオプションを使用するデータソースを作成し、Virtual DataPort サーバーへの接続に使用した資格情報とは別の資格情報でそのデータソースのビューにクエリを実行する場合は、
USERNAME
とUSERPASSWORD
の各パラメータをCONTEXT
に追加します。この 2 つのパラメータは、WITH PASS-THROUGH SESSION CREDENTIALS
オプションを使用して作成したデータソースの場合 のみ 考慮されます。たとえば、
WITH PASS-THROUGH SESSION CREDENTIALS
オプション を指定してデータソースからview1
を作成し、以下を実行するとします。SELECT * FROM view1 CONTEXT(USERNAME = 'admin', PASSWORD = 'd4GvpKA5BiwoGUFrnH92DNq5TTNKWw58I86PVH2tQIs/q1RH9CkCoJj57NnQUlmvgvvVnBvlaH8NFSDM0x5fWCJiAvyia70oxiUWbToKkHl3ztgH1hZLcQiqkpXT/oYd' ENCRYPTED)
Virtual DataPort サーバーは、ユーザーが Virtual DataPort サーバーへの接続に使用した資格情報を無効にし、ユーザー名「admin」、パスワード「password」を使用してデータソースに接続します。
トークン
ENCRYPTED
を追加して、必ず暗号化したパスワードを入力する必要があります。パスワードを暗号化するには、ENCRYPT_PASSWORD
コマンドを実行します。以下に例を示します。ENCRYPT_PASSWORD 'my_secret_password';
データソースがこのオプションを指定して作成されている場合、Virtual DataPort サーバーでは、ユーザーとパスワードのペアごとにコネクションプールが作成されます。当初は、過剰な数のコネクションが作成されないように、これらのプールに存在するコネクションは 1 つのみ (
initSize
) です。プールごとの最大コネクション数は、MAXACTIVE
パラメータの値です。警告
パススルー資格情報が有効なデータソースを使用するビューに対してキャッシュを有効にする場合は注意が必要です。このような場合に発生することが考えられる問題については、「データソースをパススルー資格情報を使用して構成する場合の検討事項」を参照してください。
SAP_APP_SERVER
: Kerberos 認証を使用する場合に SAP ログインチケットを取得するために使用する SAP Web サーバー URL。READBLOCKSIZE
: BAPI アダプターは、データをブロック単位で取得します。これは、その際の最大ブロックサイズです。
Secure Network Communications (SNC) は、SAP のデフォルトのセキュリティオプションより強力な認証と暗号化のメカニズムを提供します。Virtual DataPort サーバーと SAP 間で SNC を有効にするには、以下のパラメータを追加します。
SNC_LIBRARY
: Administration Tool では、いずれかの「SAP (BAPI)」アダプターを使用する多次元データソースの構成における、[Advanced] タブの SAP Cryptographic library フィールドに相当します。SNC_PARTNER_NAME
: Partner name フィールドに相当します。SNC_QOP
: Security level フィールドに相当します。このパラメータの値は以下のいずれかになります。
SNC_QOP パラメータの値 |
セキュリティレベル |
---|---|
1 |
セキュア認証のみ |
2 |
データ整合性の保護 |
3 |
データプライバシーの保護 |
8 |
snc/data_protection/use からの値を使用 |
9 |
snc/data_protection/max からの値を使用 |
Oracle を用いた多次元データソースの作成¶
CREATE [ OR REPLACE ] DATASOURCE ESSBASE <name:identifier>
[ FOLDER = <literal> ]
DATABASEVERSION = <literal>
URI = <literal>
USERNAME = <literal>
USERPASSWORD = <literal> [ ENCRYPTED ]
[ TRANSFER_RATE_FACTOR = <double> ]
[ DESCRIPTION = <literal> ]
ALTER DATASOURCE ESSBASE <name:identifier>
[ DATABASEVERSION = <literal> ]
[ URI = <literal> ]
[ USERNAME = <literal> ]
[ USERPASSWORD = <literal> [ ENCRYPTED ] ]
[ TRANSFER_RATE_FACTOR = <double> ]
[ DESCRIPTION = <literal> ]
Generic を用いた多次元データソースの作成¶
CREATE [ OR REPLACE ] DATASOURCE OLAP <name:identifier>
[ FOLDER = <literal> ]
[ DATABASENAME = <literal> DATABASEVERSION = <literal> ]
XMLAURI = <literal>
USERNAME = <literal>
USERPASSWORD = <literal> [ ENCRYPTED ]
[ INITIALSIZE = <integer> MAXACTIVE = <integer> ]
[ TRANSFER_RATE_FACTOR = <double> ]
[ DESCRIPTION = <literal> ]
ALTER DATASOURCE OLAP <name:identifier>
[ DATABASENAME = <literal> ]
[ DATABASEVERSION = <literal> ]
[ XMLAURI = <literal> ]
[ USERNAME = <literal> ]
[ USERPASSWORD = <literal> [ENCRYPTED] ]
[ INITIALSIZE = <integer> MAXACTIVE = <integer> ]
[ TRANSFER_RATE_FACTOR = <double> ]
[ DESCRIPTION = <literal> ]
SAP BAPI データソースのメタデータキャッシュの無効化¶
SAP BI (BAPI) アダプターまたは SAP BW (BAPI) アダプターを用いて多次元データソース (SAPBWBAPI
データソース) を操作する際に、SAP メタデータキャッシュを有効にする場合があります (管理ガイドの「 SAP メタデータキャッシュ 」を参照)。
このキャッシュは、Virtual DataPort サーバーを再起動するとクリアされます。また、いつでも、サーバーを再起動することなく、このキャッシュの内容を削除できます。削除するには、以下の VQL ステートメントを実行します。
ALTER DATASOURCE SAPBWBAPI <data source name:identifier>
DATABASENAME = <db_name:identifier>
LEVELSCACHE INVALIDATE
| ALTER DATASOURCE SAPBWBAPI <data source name:identifier>
DATABASENAME <db_name:identifier>
LEVELSCACHE INVALIDATE
SCHEMANAME = <schemaname>
CUBENAME = <cubename>
DIMENSIONNAME = <dimensionname>
HIERARCHYNAME = <hierarchyname>
LEVELNAME = <levelname>
データソースごとに SAP メタデータキャッシュがあるため、データソースの名前を入力します。
LEVELSCACHE INVALIDATE
句のみを追加すると、このデータソースのすべてのメンバーのキャッシュが削除されます。
その他の句を追加すると、階層内の特定レベルのキャッシュのみが削除されます。