接続の確立
JDBC データソースの作成
Java アプリケーションから接続するJDBC データソースを作成できます。CData JDBC Driver for SAP ByDesign に基づくJDBC データソースの作成は、3つの基本ステップで構成されます。
- ドライバーのJAR ファイルをクラスパスに追加します。JAR ファイルはインストールディレクトリの[lib]サブフォルダ内にあります。.lic ファイルはJAR ファイルと同じフォルダ内に配置される必要があることに注意してください。
- ドライバークラスを入力します。次に例を示します。
cdata.jdbc.sapbydesign.SAPByDesignDriver
- JDBC URL を入力します。次に例を示します。
jdbc:sapbydesign:URL=https://my999999.businessbydesign.cloud.sap;User=username;Password=password;ServiceType=AnalyticsService;ServiceName=servicename; or jdbc:cdata:sapbydesign:URL=https://my999999.businessbydesign.cloud.sap;User=username;Password=password;ServiceType=AnalyticsService;ServiceName=servicename;
上記の2つ目の形式は、同じURL 形式を使用しているドライバー間でアプリケーションに競合がある場合は、CData ドライバーを使用していることを確認するために常に使用できます。URL は "jdbc:sapbydesign:" または"jdbc:cdata:sapbydesign:" のいずれかから始まり、任意の接続プロパティの名前と値のペアをセミコロン区切りで入力します。
このセクションでは、使用しているアカウントおよびサービスタイプの認証を提供し、接続する方法を説明します。
SAPByDesign Account の認証
SAP ByDesign に接続するには、次の接続プロパティを設定します。
分析サービスへの接続
- URL:SAP ByDesign サイトのURL に設定。例:https://test.sapbydesign.com。
- ServiceType:分析サービスのレポートを取得する場合はServiceType=AnalyticsService; を指定します。
- ServiceName:データを取得するサービス名。指定しないか、1つのサービスのみ指定します。サービスのリストを指定したい場合は、BrowsableSchemas を参照してください。
指定するサービスがわからない場合は、sys_schemas をクエリして利用可能なサービスを一覧表示できます。
- User:アカウントのユーザー名に設定。
- Password:アカウントのパスワードに設定。
分析サービスの接続文字列の例:
Url=https://test.sapbydesign.com;ServiceType=AnalyticsService;ServiceName=cc_home_analytics.svc;User=Test;Password=test;
カスタムサービスへの接続
- URL:SAP ByDesign サイトのURL に設定。例:https://test.sapbydesign.com。
- ServiceType:データを取得するカスタムサービスがある場合はServiceType=CustomService; を指定します。
- ServiceName:データを取得するサービス名。指定しないか、1つのサービスのみ指定します。サービスのリストを指定したい場合は、BrowsableSchemas を参照してください。
指定するサービスがわからない場合は、sys_schemas をクエリして利用可能なサービスを一覧表示できます。
- User:アカウントのユーザー名に設定。
- Password:アカウントのパスワードに設定。
カスタムサービスの接続文字列の例:
Url=https://test.sapbydesign.com;ServiceType=CustomService;ServiceName=khsalesorder;User=Test;Password=test;
ODataDataSource API への接続
- URL:SAP ByDesign サイトのURL に設定。例:https://test.sapbydesign.com。
- ServiceType:OData Data Source API (odata/analytics/ds) をクエリする場合は、ServiceType=ODataDataSource を指定します。
- ServiceName:データを取得するサービス名。指定しないか、1つのサービスのみ指定します。サービスのリストを指定したい場合は、BrowsableSchemas を参照してください。
指定するサービスがわからない場合は、sys_schemas をクエリして利用可能なサービスを一覧表示できます。
- User:アカウントのユーザー名に設定。
- Password:アカウントのパスワードに設定。
ODataDataSource 接続文字列の例:
Url=https://test.sapbydesign.com;ServiceType=ODataDataSource;ServiceName=Customer.svc;User=Test;Password=test;
Azure AD による認証(SSO)
組織がMicrosoft Entra ID(旧Azure Active Directory)を使用してユーザーID を管理している場合、シングルサインオン(SSO)を使用してSAP ByDesign への認証を行うことができます。 この方法では、ユーザーはユーザー名やパスワードを直接入力せずに接続できます。
Azure AD 認証を使用するには、以下の接続プロパティを設定します。
- URL:SAP ByDesign サイトのURL に設定。
- ServiceType:サービスのタイプを指定:AnalyticsService、CustomService、またはODataDataSource。
- ServiceName:接続するサービス名に設定。
- AuthScheme:AzureAD に設定。
- InitiateOAuth:トークンの取得とリフレッシュを自動的に行うには、GETANDREFRESH に設定。
- OAuthClientId:SAP ByDesign アプリケーションのOAuth クライアントID に設定。これはEntra ID アプリの登録とは別です。
- SSOProperties:Azure AD 設定の詳細を含むセミコロン区切りの文字列。サポートされるキーについては、以下を参照してください。
URL=https://my999999.businessbydesign.cloud.sap; ServiceType=AnalyticsService; ServiceName=cc_home_analytics.svc; AuthScheme=AzureAD; InitiateOAuth=GETANDREFRESH; OAuthClientId=SAP_APP_CLIENT_ID; SSOProperties='AzureTenant=TENANT_ID;OAuthClientId=AZURE_AD_APP_CLIENT_ID;OAuthClientSecret=AZURE_AD_CLIENT_SECRET;CallbackURL=http://localhost:33333'
サポートされるSSOProperties キー:
SSOProperties 接続プロパティには、Microsoft Entra ID(Azure AD)でのOAuth ベースの認証に必要なキーと値のペアのセミコロン区切りのリストが含まれます。 これらのキーは、Entra ID がSSO のために実装しているOAuth 2.0 認可コードフローで使用されるフィールドに対応しています。 本製品 は、これらの値を使用して、Microsoft ID プラットフォームへの必要なリクエストを構築します。
- AzureTenant:Entra ID(Azure AD)テナントID。GUID または検証済みドメインを使用できます。
- OAuthClientId:Entra ID アプリ登録時のクライアントID。これはSAP アプリのクライアントID とは異なります。
- OAuthClientSecret:Entra ID アプリのクライアントシークレット。
- CallbackURL:(オプション)Entra ID に登録されているリダイレクトURI。デフォルトはhttp://localhost:33333 です。
- Scope:(オプション)認証時にリクエストするOAuth スコープ。
Note:OAuthClientId の値は2つあります。
- トップレベルのOAuthClientId は、SAP ByDesign に登録されているアプリを指します。
- SSOProperties 内のOAuthClientId は、Microsoft Entra ID に登録されているアプリを指します。
新しいカスタムODATA サービスを追加
- SAP ByDesign ワークセンタービューで、[Application and User Management]をクリックします。
- [OData Services]を選択します。
- ドロップダウンリストから[Custom OData Services]を選択します。
- これで現在のカスタムサービスのリストを見ることができます。新しいサービスを追加するには、[New]をクリックします。
SAP ByDesign URL の制約事項
SAP ByDesign 本製品 は、許容されるURI の長さの上限を超えないようにURL に制限をかけており、これによりサービスは[URI Too Long]エラーをスローします。デフォルトでは、プロジェクションのカラムの長さは1000文字に制限されています。プロジェクションで選択されたカラムがこの制限を超えると、ドライバーはプロジェクション指定を解除してすべてのフィールドを取得します。これは、サービスレスポンスの遅延やペイロードの増加により、パフォーマンスに影響を及ぼす可能性があります。
分析サービス(ServiceType =AnalyticsService)の場合、ドライバーはプロジェクションのカラム数を減らす必要があることを示すエラーを返します。また、サーバー側のフィルタの長さも同じ理由で1000文字に制限されています。生成されたフィルタの長さがこの制限を超える場合、ドライバーは追加のフィルタをドロップしてクライアントサイドで処理します。
SAP ByDesign で、MaxSelectLength およびMaxFilterLength 隠し接続プロパティを使用して、これらの制限を有効または無効にできます。これらのプロパティのデフォルトはいずれも1000文字です。サービスにこれらの制限がない場合は、プロパティを-1に設定して長さの制限を無効にしてください。