ODBC 経由で PowerBuilder から Dynamics CRM のデータ に接続
CData ODBC Driver for Dynamics CRM は、ODBC をサポートするあらゆるプラットフォームや開発技術から使用できます。PowerBuilder もその一つです。この記事では、Dynamics CRM のデータ に接続し、Database Painter や DataWindow などのコントロールからクエリを実行する方法を説明します。
Dynamics CRM データ連携について
CData は、Microsoft Dynamics CRM のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:
- Dynamics CRM 2011+ サービスおよび Dynamics CRM Online のデータの読み取りと書き込みができます。
- カスタマイズ可能なキャッシュと、インテリジェントなクエリ集約・分離により、Dynamics CRM のネイティブ機能を拡張できます。
- Azure Active Directory、Azure マネージド サービス ID 認証情報、クライアントシークレットまたは証明書を使用した Azure サービスプリンシパルなど、さまざまな方法で Dynamics CRM に安全に認証できます。
CData のお客様は、データをデータウェアハウスにレプリケートしたい場合(他のデータソースと併せて)や、Microsoft エコシステム内のお気に入りのデータツール(Power BI、Excel など)または外部ツール(Tableau、Looker など)からライブ Dynamics CRM データを分析したい場合など、さまざまな理由で当社の Dynamics CRM 接続ソリューションを使用しています。
はじめに
Dynamics CRM にODBC データソースとして接続
まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。
Dynamics CRM 接続プロパティの取得・設定方法
Dynamics CRM では、インスタンスごとに接続文字列の設定が必要です。 Authentication セクションでは、有効なDynamics CRM のUser、Password の入力、およびDynamics CRM Server Organization root のURL を設定します。さらに、CRMVersion プロパティに、'CRM2011+' もしくは'CRMOnline' を設定します。IFD コンフィグレーションもサポートされていますので、InternetFacingDeployment をTRUE に設定してください。
また、Security Token Service(STS)、もしくはAD FS エンドポイントをSTSURL プロパティに設定することもできます。 この値はGetSTSUrl ストアドプロシージャで取得できます。 Office 365 ユーザーはデフォルトSTS URL にCRMVersion の設定だけで接続することができます。
Dynamics CRM 用 ODBC ドライバ のプロファイルを作成
以下の手順に従って、Database Painter ツールを使用し、Dynamics CRM の ODBC DSN(データソース名)に基づいてデータベースプロファイルを作成します。Database Painter では、ウィザードや UI を使用してDynamics CRM のデータを操作できます。
- PowerBuilder で、[ツール] -> [Database Painter]をクリックします。
- Database Painter の [オブジェクト] ウィンドウで、ODBC ノードを右クリックし、[新しいプロファイル] をクリックします。
- [接続] タブで、プロファイル名を入力し、[データソース] メニューで Dynamics CRM DSN を選択します。
- テーブルを表示・編集するには、テーブルを右クリックして [データの編集] -> [グリッド] をクリックします。
PowerBuilder コントロールで Dynamics CRM のデータ を使用
標準の PowerBuilder オブジェクトを使用して ODBC データソースに接続し、クエリを実行できます。以下の例では、Dynamics CRM のデータ を DataWindow に取得する方法を示します。次のコードを open メソッドに追加してください。
SQLCA.DBMS = "ODBC" SQLCA.DBParm = "ConnectString='DSN=CData DynamicsCRM Source'" CONNECT USING SQLCA; dw_account.SetTransObject(SQLCA); dw_account.Retrieve();