BAPI データソース¶
Virtual DataPort では、SAP BAPI (Business Application Programming Interface) を呼び出して、SAP ERP をはじめとする SAP アプリケーションに保存されているデータを取得できます。
BAPI データソースを作成するには、CREATE DATASOURCE SAPERP ステートメントを使用します。データソースの作成要件を含む、このタイプのデータソースに関する詳細は、管理ガイドの「 BAPI ソース 」のページを参照してください。
CREATE [ OR REPLACE ] DATASOURCE SAPERP <name:identifier>
[ FOLDER = <literal> ]
SYSTEMNAME = <literal>
[ SAPROUTER = <literal> ]
[ LANGUAGE = <literal> ]
<connection type>
CLIENTID = <literal>
[ USE_KERBEROS ]
{
<credentials>
| WITH PASS-THROUGH SESSION CREDENTIALS ( <credentials> )
}
[ SAP_APP_SERVER = <literal> ]
[
SNC_LIBRARY = <literal>
SNC_PARTNER_NAME = <literal>
SNC_QOP = <integer>
]
[
MAX_ACTIVE = <integer>
MAX_IDLE = <integer>
MAX_WAIT = <integer>
MIN_EVICTABLE_IDLE_TIME = <integer>
TIME_BETWEEN_EVICTION = <integer>
]
[ TRANSFER_RATE_FACTOR = <double> ]
[ DESCRIPTION = <literal> ]
<credentials> ::=
USERNAME = <literal> USERPASSWORD = <literal> [ ENCRYPTED ]
<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> ]
BAPI データソースを変更するには、ALTER DATASOURCE SAPERP ステートメントを使用します。
ALTER DATASOURCE SAPERP <name:identifier>
[ 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> ]
[
SNC_LIBRARY = <literal>
SNC_PARTNER_NAME = <literal>
SNC_QOP = <integer>
]
[
MAX_ACTIVE = <integer>
MAX_IDLE = <integer>
MAX_WAIT = <integer>
MIN_EVICTABLE_IDLE_TIME = <integer>
TIME_BETWEEN_EVICTION = <integer>
]
[ TRANSFER_RATE_FACTOR = <double> ]
[ DESCRIPTION = <literal> ]
<credentials> ::= (「 CREATE DATASOURCE SAPERP ステートメントの構文 (BAPI) 」を参照)
この 2 つのコマンドのパラメータはすべて、SAP インスタンスへのコネクションの詳細情報を参照します。これらのパラメータの意味の詳細については、管理ガイドの「 BAPI ソース 」を参照してください。
SYSTEMNAME
: SAP ERP の SAP システム ID。SAPROUTER
: SAP ルーターとターゲットサーバー間のルート。USERNAME
: データソースにアクセスするために使用されるユーザー名。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
パラメータは必須です。USERPASSWORD
: ユーザーのパスワード。ENCRYPTED
修飾子は、入力されたパスワードが暗号化されることを示します (このオプションは通常、Denodo エクスポート/インポートプロセスのみで使用されます)。WITH PASS-THROUGH SESSION CREDENTIALS
修飾子は、あるユーザーが、このオプションが指定されたデータソースを使用するビューにクエリを実行する場合、Virtual DataPort がこのユーザーの資格情報を使用してデータベースに接続することを意味します。この修飾子では、USERNAME
パラメータとPASSWORD
パラメータの値は、Administration Tool を使用してこのデータソースから基本ビューを作成する場合のみ使用されます。つまり、SAP に接続して基本ビューの SAP BAPI に関する情報を取得する場合のみです。このオプションを使用するデータソースを作成し、Virtual DataPort サーバーへの接続に使用した資格情報とは別の資格情報でそのデータソースのビューにクエリを実行する場合は、
USERNAME
とPASSWORD
の各パラメータをCONTEXT
に追加します。この 2 つのパラメータは、WITH PASS-THROUGH SESSION CREDENTIALS
オプションを使用して作成したデータソースの場合 のみ 考慮されます。たとえば、
WITH PASS-THROUGH SESSION CREDENTIALS
オプションを使用してSAPERP
データソースから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。
Secure Network Communications (SNC) は、SAP のデフォルトのセキュリティオプションより強力な認証と暗号化のメカニズムを提供します。Virtual DataPort サーバーと SAP の間で SNC を有効にするには、以下のパラメータを追加します。
SNC_LIBRARY
: Administration Tool では、データソース構成の [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 からの値を使用 |
SAP ERP へのデータソースのコネクションプールを構成するための句 :
MAX_ACTIVE
: プールに置くことができるアクティブなコネクションの最大数。MAX_IDLE
: プールにアイドル状態で置くことができるコネクションの最大数。MAX_WAIT
(ミリ秒): プールからコネクションが取得されるまでスレッドが待機する最大時間。この制限に到達すると、そのコネクションをリクエストしたクエリは失敗します。MIN_EVICTABLE_IDLE_TIME
(ミリ秒): プールでアイドル状態になっているコネクションが閉じられてプールから削除されるまでの最小時間。TIME_BETWEEN_EVICTION
(ミリ秒): Virtual DataPort サーバーは、プールでアイドル状態にあるコネクションを定期的に確認し、それを閉じます。このパラメータは、この確認が実施される最小間隔を示します。
TRANSFER_RATE_FACTOR
: Denodo サーバーとデータソース間のネットワーク接続速度の相対的な測定値。従来の 100 Mbps LAN を介してデータソースにアクセス可能な場合は、デフォルト値 (オンプレミスの JDBC データベースの場合は 1) を使用します。より高速なネットワークの場合はより大きな値を、WAN 経由でアクセス可能なデータソースの場合はより小さな値を使用します。コストオプティマイザーは、実行計画のコストを評価するときにこの値を使用します。通常はデフォルト値が適正に設定されているため、コストオプティマイザーに精通していないかぎり、このパラメータは指定しないでください。