Delphi のWorkday データへのデータバインドコントロール

標準のデータアクセスコンポーネントとコントロールを備えたDelphi のWorkday にデータバインドします。

古川えりか
コンテンツスペシャリスト


こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

CData ODBC Driver for Workday は、ODBC 標準をサポートし、リアルタイムWorkday データとビジュアルフォームデザイナおよびDelphi の他のラピッド開発ツールとの統合を可能にします。ODBC ドライバーは、データベース開発用のシングルAPI を提供することにより、Delphi のような単一のコードベースを共有するアプリケーションのデータアクセス戦略を簡素化します。この記事では、Workday に接続してシンプルなVisual Component Library (VCL) アプリケーションおよびDelphi コードからデータをクエリする方法を説明します。

CData ODBC Drivers とは?

CData ODBC Drivers は、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. Workday をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにWorkday データを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC Driver では、1.データソースとしてWorkday の接続を設定、2.Delphi 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC Drivers のインストールとWorkday への接続設定

まずは、本記事右側のサイドバーからWorkday ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

未指定の場合は、初めにODBC DSN (data source name) で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。

To connect, there are three pieces of information required: Authentication, API URL, and WSDL URL.

Authentication

To authenticate, specify your User and Password. Note that you must append your Tenant to your User separated by an '@' character. For instance, if you normally log in with 'geraldg' and your Tenant is 'mycompany_mc1', then your User should be specified as 'geraldg@mycompany_mc1'.

API URL

The API URL may be specified either directly via APIURL, or it may be constructed from the Tenant, Service, and Host. The APIURL is constructed in the following format: <Host>/ccx/service/<Tenant>/<Service>.

WSDL URL

The WSDLURL may be specified in its entirety, or may be constructed from the Service and WSDLVersion connection properties. The WSDLURL is constructed in the following format: https://community.workday.com/sites/default/files/file-hosting/productionapi/<Service>/<WSDLVersion>/<Service>.wsdl

以下のステップに従ってData Explorer を使用し、Workday へのFireDAC 接続を作成できます。

  1. 新しいVCL Forms アプリケーションの[Data Explorer]で[FireDAC]ノードを展開します。
  2. [Data Explorer]で[ODBC Data Source]ノードを右クリックします。
  3. [Add New Connection]をクリックします。
  4. 接続の名前を入力します。
  5. 表示される[FireDAC Connection Editor]で、[DataSource]プロパティをODBC DSN for Workday の名前に設定します。
A FireDAC connection to the ODBC data source.(Salesforce is shown.)

Workday データに接続できるVCL アプリケーションの作成

以下のステップに従って、クエリの結果をグリッドに表示するシンプルなVCL アプリケーションからWorkday のクエリの実行を開始します。

  1. TFDConnection コンポーネントフォームにドロップし、以下のプロパティを設定します。

    • ConnectionDefName:Workday へのFireDAC 接続を選択します。
    • Connected:メニューから[True]を選択し、表示されるダイアログで資格情報を入力します。
  2. TFDQuery コンポーネントをフォームにドロップし、以下のプロパティを設定します。

    • Connection:コンポーネントがまだ指定されていない場合は、このプロパティを[TFDConnection]コンポーネントに設定します。
    • SQL:[SQL]プロパティ内のボタンをクリックし、クエリを入力します。例:

      SELECT Worker_Reference_WID, Legal_Name_Last_Name FROM Workers WHERE Legal_Name_Last_Name = 'Morgan'
    • Active:このプロパティをtrue に設定します。
  3. TDataSource コンポーネントをフォームにドロップし、以下のプロパティを設定します。

    • DataSet:このプロパティのメニューで、TFDQuery コンポーネントの名前を選択します。
  4. TDBGrid コントロールをフォームにドロップし、以下のプロパティを設定します。

    • DataSource:TDataSource の名前を選択します。
  5. 実行時エラーを回避するために、TFDGUIxWaitCursor をフォームにドロップします。
Components in FireDAC used to databind an editable grid to the data source.(Salesforce is shown.)

FireDAC コンポーネントを使用してWorkday へのコマンドを実行

TFDConnection およびTFQuery コンポーネントを使用してWorkday へのクエリを実行できます。このセクションでは、TFQuery コンポーネントを使用してクエリを実行するWorkday 固有の例を示します。

Workday データに接続

データソースに接続するには、TFDConnection コンポーネントの[Connected]プロパティをtrue に設定します。コードでも同じプロパティを設定できます。

FDConnection1.ConnectionDefName := 'myworkday'; FDConnection1.Connected := true;

パラメータクエリの作成

パラメータ化されたリソースはパフォーマンスを向上させることができます。ステートメントの準備は、システムリソースと時間の面でコストがかかります。ステートメントの準備中、接続がアクティブで開いている必要があるためです。FireDACはデフォルトで、同じクエリが何度もリコンパイルされないようにクエリを準備します。ステートメントの準備を無効にするには、ResourceOptions.DirectExecute を[True]に設定します。クエリを一回だけ実行する必要がある場合などに設定します。

クエリの実行

select クエリなど、結果セットを返すクエリを実行するには、Open メソッドを使用します。Open メソッドは、クエリを実行して結果セットを返し、それを開きます。クエリが結果セットを生成しない場合、Open メソッドはエラーを返します。

FDQuery1.Open('select * from Workers where Legal_Name_Last_Name = :Legal_Name_Last_Name',['Morgan']);

Workday からDelphi へのデータ連携には、ぜひCData ODBC Driver をご利用ください

このようにCData ODBC Drivers と併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

CData ODBC Driver は日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。