SAP Integration Suiteを使ってSAP Datasphereからデータを抽出する方法 JDBC編

Estimated read time 3 min read

はじめに

SAP の連携ツールである SAP Integration Suite を使用して SAP Datasphere からデータを抽出するには、以下の2つの方法があります。本ブログでは②の方法について紹介します。

① SAP Datasphere の OData サービスを利用したデータ抽出(前回のブログにて記載)

② SAP Datasphere データベースユーザでの JDBCを利用したデータ抽出(本ブログ)

今回は下記のバージョンで検証を行いました。
SAP Datasphere : バージョン2024.16.46
SAP Integration Suite : バージョン 3.66.0

手順

SAP Datasphere でデータベースユーザを作成するSAP Integration Suite で JDBC データソースを作成するSAP Integration Suite で Integration Flow を作成するSAP Integration Suite で Integration Flow をデプロイするSAP Integration Suite で Integration Flow の動作を確認する

ポイント

SAP Integration Suite 側で SAP HANA Cloud の JDBC ドライバはデフォルトでインストールされているため、ユーザ側で JDBC ドライバをアップロードする必要はありませんSAP Integration Suite から SAP Datasphere への接続はデータベースユーザでおこなうため、データベースユーザが参照できる範囲のオブジェクトのデータが抽出できます

ここから具体的な方法を紹介します。

手順1. SAP Datasphere で データベースユーザを作成する

※すでに作成済みの場合は飛ばしてもかまいません

1.SAP Datasphere にログインします

2.スペース管理から対象となるスペースを選択し、[編集] ボタンをクリックします

3.データベースアクセスタブに移動します

4.データベースユーザの [作成] ボタンをクリックします

 

5.データベースユーザの作成ダイアログで以下を入力し、[作成] ボタンをクリックします

データベースユーザ名の接尾辞: 任意のユーザ名(この例では URESHINO)スペーススキーマの読み込みアクセスを有効化 (SQL): チェックするその他の設定: (任意)

6.[保存] ボタンをクリックして設定を保存し、[デプロイ] ボタンをクリックしてデプロイします

7.ステータスが”有効”になったことを確認し、[情報ダイアログを開く] ボタン(iのマーク)をクリックします

8.データベースユーザ詳細画面で [新しいパスワードを申請] ボタンをクリックして、データベースユーザのパスワードを発行します

9.発行されたパスワードをメモ帳などにコピーしておきます
※ JDBC 接続を作成する際に、データベースユーザ名とホスト名、パスワードが必要になります

手順2. Integration Suite でのJDBCデータソースの作成

SAP Integration Suite から SAP Datasphere に JDBC 接続するための JDBC データソースを作成します

1.SAP Integration Suite にログインします

2.Monitor > Integrations and APIs をクリックします

3.JDBC Material のタイルをクリックします

4.JDBC Data Source タブを開き、[Add] ボタンをクリックします

5.Add JDBC Data Source ダイアログで以下の情報を入力し、[Deploy] ボタンをクリックします

Name: 任意の JDBC データソース名(この例では Datasphere_JP)Description: 任意Database Type: SAP HANA CloudUser: SAP Datasphere のデータベースユーザPassword: SAP Datasphere データベースユーザのパスワードJDBC URL: jdbc:sap://{手順1-9 SAP Datasphere ホスト名}:443/?encrypt=true

6.JDBC Data Source の一覧画面で Status が Deployed になっていることを確認します

手順3. Integration SuiteでIntegration Flowの作成

1.SAP Integration Suite のホームページから Design > Integrations and APIs をクリックします

2.[Create] ボタンをクリックしてコンテンツパッケージを作成します

3.以下の情報を入力して [Save] ボタンをクリックします

Name: 任意のパッケージ名(この例では Datasphere_JDBC_Integration_Flow)Technical Name: Name の内容から自動設定Short Description: 任意の概要説明

4.Artifacts タブに移動します

5.Add をクリックして表示されるコンテキストメニューから [Integration Flow] を選択します

6.Add Integration Flow ダイアログで以下の情報を入力し、[Add] ボタンをクリックします

Create を選択Name: 任意の Integration Flow 名(この例では Datasphere_JDBC_Integration_Flow)ID: Name から自動入力Runtime Profile: Cloud IntegrationDescription: 任意の説明Sender: 空白Receiver: 空白

​デプロイ時に一回だけ起動し、SAP Datasphere からデータを取得する Integration Flow を作成します

7.Artifacts から追加した Integration Flow を選択します

8.右のような Integration Flow を作成します

Request Reply から Receiver への接続では、[JDBC] を選択します

9.Content Modifier の Message Body タブをクリックし、以下の情報を入力します

Type: ExpressionBody: 実行する SQL 文(この例では SELECT * FROM “{スペース名}”.”V_CutomerOrders”)

10.JDBC の Connection タブをクリックし、以下の情報を入力します

JDBC Data Source Alias: JDBC データソースの作成の手順で作成した JDBC データソース名(この例では Datasphere_JDBC)

手順4. Integration SuiteでIntegration Flowのデプロイ

作成した Integration Flow をデプロイします

1.[Save] ボタンをクリックします 

2.[Deploy] ボタンをクリックします

3.Confirmation ダイアログで Runtime Profile を選択して、[Yes] ボタンをクリックします

4.Deployment ダイアログで [OK] ボタンをクリックします

5.Deployment Status タブをクリックし、Deployment Status と Runtime Status を確認します

6.Navigate to Manage Integration Content リンクをクリックします

7.Manage Integration Content 画面で実行状態を確認します

8.Integration Flow の実行をトレースするためにLog Configuration の Log Level を Trace に変更します

9.Integration Flow の Edit 画面で再度 [Deploy] ボタンをクリックし、Integration Flow をデプロイします

手順5. Integration SuiteでIntegration Flowの実行結果の確認

1.Monitor > Integrations and APIs をクリックします

2.Monitor Message Processing の All Artifacts タイルをクリックします

3.作成・デプロイした Integration Flow を選択します

4.Logs タブをクリックし、Log Level の Trace リンクをクリックします

5.Run Steps の End をクリックします

6.Message Content をクリックします

7.Payload タブをクリックして、データが取得できていることを確認します(XML形式)

以上ですべての手順が完了しました。最後までお読みいただきありがとうございました。

Special thanks to Ikeguchi Daisuke-san!

 

​ はじめにSAP の連携ツールである SAP Integration Suite を使用して SAP Datasphere からデータを抽出するには、以下の2つの方法があります。本ブログでは②の方法について紹介します。① SAP Datasphere の OData サービスを利用したデータ抽出(前回のブログにて記載)② SAP Datasphere データベースユーザでの JDBCを利用したデータ抽出(本ブログ)今回は下記のバージョンで検証を行いました。SAP Datasphere : バージョン2024.16.46SAP Integration Suite : バージョン 3.66.0手順SAP Datasphere でデータベースユーザを作成するSAP Integration Suite で JDBC データソースを作成するSAP Integration Suite で Integration Flow を作成するSAP Integration Suite で Integration Flow をデプロイするSAP Integration Suite で Integration Flow の動作を確認するポイントSAP Integration Suite 側で SAP HANA Cloud の JDBC ドライバはデフォルトでインストールされているため、ユーザ側で JDBC ドライバをアップロードする必要はありませんSAP Integration Suite から SAP Datasphere への接続はデータベースユーザでおこなうため、データベースユーザが参照できる範囲のオブジェクトのデータが抽出できますここから具体的な方法を紹介します。手順1. SAP Datasphere で データベースユーザを作成する※すでに作成済みの場合は飛ばしてもかまいません1.SAP Datasphere にログインします2.スペース管理から対象となるスペースを選択し、[編集] ボタンをクリックします3.データベースアクセスタブに移動します4.データベースユーザの [作成] ボタンをクリックします 5.データベースユーザの作成ダイアログで以下を入力し、[作成] ボタンをクリックしますデータベースユーザ名の接尾辞: 任意のユーザ名(この例では URESHINO)スペーススキーマの読み込みアクセスを有効化 (SQL): チェックするその他の設定: (任意)6.[保存] ボタンをクリックして設定を保存し、[デプロイ] ボタンをクリックしてデプロイします7.ステータスが”有効”になったことを確認し、[情報ダイアログを開く] ボタン(iのマーク)をクリックします8.データベースユーザ詳細画面で [新しいパスワードを申請] ボタンをクリックして、データベースユーザのパスワードを発行します9.発行されたパスワードをメモ帳などにコピーしておきます※ JDBC 接続を作成する際に、データベースユーザ名とホスト名、パスワードが必要になります手順2. Integration Suite でのJDBCデータソースの作成SAP Integration Suite から SAP Datasphere に JDBC 接続するための JDBC データソースを作成します1.SAP Integration Suite にログインします2.Monitor > Integrations and APIs をクリックします3.JDBC Material のタイルをクリックします4.JDBC Data Source タブを開き、[Add] ボタンをクリックします5.Add JDBC Data Source ダイアログで以下の情報を入力し、[Deploy] ボタンをクリックしますName: 任意の JDBC データソース名(この例では Datasphere_JP)Description: 任意Database Type: SAP HANA CloudUser: SAP Datasphere のデータベースユーザPassword: SAP Datasphere データベースユーザのパスワードJDBC URL: jdbc:sap://{手順1-9 SAP Datasphere ホスト名}:443/?encrypt=true 6.JDBC Data Source の一覧画面で Status が Deployed になっていることを確認します手順3. Integration SuiteでIntegration Flowの作成1.SAP Integration Suite のホームページから Design > Integrations and APIs をクリックします2.[Create] ボタンをクリックしてコンテンツパッケージを作成します3.以下の情報を入力して [Save] ボタンをクリックしますName: 任意のパッケージ名(この例では Datasphere_JDBC_Integration_Flow)Technical Name: Name の内容から自動設定Short Description: 任意の概要説明4.Artifacts タブに移動します5.Add をクリックして表示されるコンテキストメニューから [Integration Flow] を選択します 6.Add Integration Flow ダイアログで以下の情報を入力し、[Add] ボタンをクリックしますCreate を選択Name: 任意の Integration Flow 名(この例では Datasphere_JDBC_Integration_Flow)ID: Name から自動入力Runtime Profile: Cloud IntegrationDescription: 任意の説明Sender: 空白Receiver: 空白​デプロイ時に一回だけ起動し、SAP Datasphere からデータを取得する Integration Flow を作成します7.Artifacts から追加した Integration Flow を選択します8.右のような Integration Flow を作成しますRequest Reply から Receiver への接続では、[JDBC] を選択します 9.Content Modifier の Message Body タブをクリックし、以下の情報を入力しますType: ExpressionBody: 実行する SQL 文(この例では SELECT * FROM “{スペース名}”.”V_CutomerOrders”)10.JDBC の Connection タブをクリックし、以下の情報を入力しますJDBC Data Source Alias: JDBC データソースの作成の手順で作成した JDBC データソース名(この例では Datasphere_JDBC)手順4. Integration SuiteでIntegration Flowのデプロイ作成した Integration Flow をデプロイします1.[Save] ボタンをクリックします 2.[Deploy] ボタンをクリックします3.Confirmation ダイアログで Runtime Profile を選択して、[Yes] ボタンをクリックします4.Deployment ダイアログで [OK] ボタンをクリックします5.Deployment Status タブをクリックし、Deployment Status と Runtime Status を確認します6.Navigate to Manage Integration Content リンクをクリックします7.Manage Integration Content 画面で実行状態を確認します8.Integration Flow の実行をトレースするためにLog Configuration の Log Level を Trace に変更します9.Integration Flow の Edit 画面で再度 [Deploy] ボタンをクリックし、Integration Flow をデプロイします手順5. Integration SuiteでIntegration Flowの実行結果の確認1.Monitor > Integrations and APIs をクリックします2.Monitor Message Processing の All Artifacts タイルをクリックします3.作成・デプロイした Integration Flow を選択します4.Logs タブをクリックし、Log Level の Trace リンクをクリックします5.Run Steps の End をクリックします6.Message Content をクリックします7.Payload タブをクリックして、データが取得できていることを確認します(XML形式)以上ですべての手順が完了しました。最後までお読みいただきありがとうございました。Special thanks to Ikeguchi Daisuke-san!     Read More Technology Blogs by SAP articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author