製品をチェック

製品の情報と30日間無償トライアル

Excel 連携ソリューション 相談したい

Excel データでアップデートグラムを使用する

アップデートグラムを使用することで、Excel をインサート、アップデート、デリートできます。ここでは、CData BizTalk Adapter for Excel を使用して、アップデートグラムスキーマとインスタンスを作成する方法を説明します。

加藤龍彦
デジタルマーケティング

最終更新日:2022-12-05

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

この記事では、CData BizTalk Adapter for Excel で実行できるアップデートグラムを作成します。設計したスキーマは、インサート、アップデート、デリートのアップデートグラムを作成するためのテンプレートとして使用します。

プロジェクトにExcel 用アダプターを追加する

[Add Adapter] ウィザードから、アダプターをVisual Studio のBizTalk サーバープロジェクトに追加します。アダプターを使って、修正したいテーブルに関するExcel のメタデータをクエリします。

  1. [Solution Explorer] の[project] で右クリックし、[Add] -> [Add Generated Items] と進みます。
  2. [resulting dialog box] の[Add Adapter Metadata] を選択します。
  3. 表示される[Add Adapter] ウィザードで、リストからCData BizTalk Adapter for Excel を選択します。
  4. [Port menu] では、選択を空白のままにします。もしくは、アダプターを使用するように構成されている受信場所や送信ポートを選択します。
  5. [Next]をクリックすると、[Schema]ウィザードが表示されます。
CData Data Adapters in the Select Adapter wizard.(Salesforce is shown.)

アップデートグラム用のスキーマを作成する

以下のステップに従って、Visual Studio のBizTalk サーバープロジェクトでスキーマを作成します。

  1. 未追加の場合は、Excel アダプターをプロジェクトに追加します。
  2. 送信ポートや受信場所で、認証資格情報やその他の接続プロパティが未構成の場合、[Add Adapter]ウィザードの[Connection String]ページから入力します。下は一般的な接続文字列です。

    Excel File='C:/MyExcelWorkbooks/SampleWorkbook.xlsx';

    Authentication セクションのExcelFile には有効なExcel ファイルを設定する必要があります。

    Amazon S3 内のExcel への接続

    URI をバケット内のExcel ファイルに設定します。さらに、次のプロパティを設定して認証します。

    • AWSAccessKey:AWS アクセスキー(username)に設定。
    • AWSSecretKey:AWS シークレットキーに設定。

    Box 内のExcel への接続

    URI をExcel ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。

    Dropbox 内のExcel への接続

    URI をExcel ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。

    SharePoint Online SOAP 内のExcel への接続

    URI をExcel ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。

    SharePoint Online REST 内のExcel への接続

    URI をExcel ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。

    FTP 内のExcel への接続

    URI をExcel ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。

    Google Drive 内のExcel への接続

    デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。

    接続プロパティの詳細は、ヘルプドキュメントの"BizTalk Configuration" チャプターを参照してください。

    The connection string used by the adapter.(Salesforce is shown.)
  3. [Schema Information]ページで、[General Options]セクションの[Send Port]をクリックします。[CommandType]メニューから[Updategram]を選択します。要請応答送信ポートのアダプターを使用している場合、[One-Way]オプションを無効にします。 Schema options that are specific to the adapter configured in a solicit-response send port.(Salesforce is shown.)
  4. 次の[Statement Information]ページでは、アップデートグラムの形式(Insert、Update、Delete)を選択します。 スキーマに含ませたいテーブル名とカラムを選択します。アップデートまたはデリートを行う場合、ID カラムを選択します。

    Noteアップデートグラムを作成する際、修正はスキーマに含ませたカラムに限定されます。

    Schema options that specify the table and columns to be modified.(Salesforce is shown.)
  5. [Next]をクリックしてスキーマの概要を確認してウィザードを終了し、スキーマを作成します。完成した.xsd ファイルがプロジェクトに追加されます。
The resulting updategram instance.(Salesforce is shown.)

インサート、アップデート、デリートのインスタンスメッセージを生成する

アップデートグラムスキーマの作成後、アップデートグラムを生成する.xsd ファイルを使用できます。.xsd ファイルを右クリックし、[Generate Instance]を選択します。このファイルは、アップデートグラムを手動で作成するテンプレートとして使用することもできます。以下は、インサート、アップデート、デリートそれぞれに生成されたアップデートグラムインスタンスの例です。

インサート

まず、インサートの一例です。このインスタンスでは、データの変化を指定するafter ブロックのみを扱います。

<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ExcelProvider"> <ns0:sync> <ns0:before></ns0:before> <ns0:after> <ns0:Sheet Name="Name_0" Revenue="Revenue_1" /> </ns0:after> </ns0:sync> </ns0:parameters>

アップデート

次に、アップデートの一例です。このインスタンスでは、before ブロック(テーブルに存在するデータ)と、after ブロック(データの変化)の両方を扱います。

<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ExcelProvider"> <ns0:sync> <ns0:before> <ns0:Sheet Id=001d000000YBRseAAH></ns0:Sheet> </ns0:before> <ns0:after> <ns0:Sheet Name="Name_0" Revenue="Revenue_1" ></ns0:Sheet> </ns0:after> </ns0:sync> </ns0:parameters>

デリート

最後に、デリートの一例です。after ブロックは空になり、アイテムを除去していることを示します。

<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ExcelProvider"> <ns0:sync> <ns0:before> <ns0:Sheet Id=001d000000YBRseAAH></ns0:Sheet> </ns0:before> <ns0:after></ns0:after> </ns0:sync> </ns0:parameters>

スキーマを処理する

Excel レコードのインサート、アップデート、デリートにアップデートグラムを使用するには、こちらのチュートリアルをご覧ください。

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

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