Linux DSN の構成
このセクションでは、以下のいくつかのLinux ディストリビューションでODBC 接続をセットアップしDSN を設定する方法を説明します:Ubuntu のようなDebian ベースのシステム、Red Hat Enterprise Linux (RHEL)、およびFedora のようなRed Hat Linux プラットフォーム。
Linux の最小バージョン
Red Hat ベースおよびDebian ベースシステムでサポートされる最小バージョンは以下のとおりです。
| OS | Min. Version |
| Ubuntu | 18.04 |
| Debian | 10 |
| RHEL | 8 |
| Fedora | 28 |
| SUSE | 15 |
ドライバー依存関係のインストール
必要な依存関係をインストールするには、次のコマンドをルートとしてまたはsudo で実行します。
- Debian/Ubuntu:
apt-get install libc6 libstdc++6 zlib1g libgcc1
- RHEL/Fedora:
yum install glibc libstdc++ zlib libgcc
ドライバーのインストール
標準のパッケージ管理システムを使用してドライバーをインストールできます。
Ubuntu のようなDebian ベースのシステムでは、次のコマンドをroot またはsudo で実行します。
dpkg -i /path/to/driver/setup/SAPByDesignODBCDriverforUnix.deb
RPM パッケージ形式をサポートするシステムでは、次のコマンドをroot またはsudo で実行します。
rpm -ivh /path/to/driver/SAPByDesignODBCDriverforUnix.rpm
ドライバーのライセンス
次のコマンドを実行して本製品 のライセンスを取得します。評価版をアクティベートするには、<key> の入力を省略してください。
cd /opt/cdata/cdata-odbc-driver-for-sapbydesign/bin/
sudo ./install-license.sh <key>
ドライバーマネージャー経由の接続
ドライバーマネージャーはドライバーをロードし、アプリケーションからドライバーに関数呼び出しを渡します。本製品 をドライバーマネージャーに登録して、ドライバーマネージャーのコンフィギュレーションファイルにDSN を定義する必要があります。
本製品 のインストールでは、本製品 をunixODBC ドライバーマネージャーに登録し、システムDSN を作成します。UnixODBC ドライバーマネージャーは、Python やその他多くのアプリケーションから使用できます。アプリケーションに別のドライバーマネージャーが組み込まれている可能性があります。
DSN の作成
unixODBC をインストールしてDSN を設定するには、unixODBC の使用 を参照してください。OBIEE、Informatica、およびSAS に接続するDSN を作成するには、DataDirect ドライバーマネージャーの使用 を参照してください。
このセクションでは、使用しているアカウントおよびサービスタイプの認証を提供し、接続する方法を説明します。
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に設定して長さの制限を無効にしてください。
ドライバーエンコーディングの設定
ODBC ドライバーは、ODBC ドライバーマネージャーで使用するエンコーディングを指定する必要があります。デフォルトでは、Unix 用のCData ODBC ドライバーはunixODBC と互換性のあるUTF-16 を使用するように設定されていますが、他のドライバーマネージャーでは代替エンコーディングが必要な場合があります。
また、ANSI ODBC API を使用するアプリケーションからODBC ドライバーを使用している場合は、ANSI コードページを設定する必要があります。例えば、ANSI アプリケーションに日本語の文字をインポートするには、設定ファイル'/opt/cdata/cdata-odbc-driver-for-sapbydesign/lib/cdata.odbc.sapbydesign.ini' でコードページを指定できます。
[Driver]
AnsiCodePage = 932