SSIS で外部キー ID を使用して Salesforce データを Upsert

SSIS で外部キー ID を使用して Salesforce データを Upsert する方法を解説します。

Date Entered: 9/15/2014    Last Updated: 11/25/2024

CData SSIS Component for Salesforce を使用すると、Salesforce にデータを upsert できます。upsert は、Salesforce オブジェクトに定義された外部 ID フィールドに基づいて、既存のレコードを自動的に更新するか、新しいレコードを挿入します。外部 ID フィールドは、レコードがすでに存在するか、新規作成すべきかを判断するために使用されるカラム名です。たとえば、Account テーブルの Name カラムを外部 ID として設定できます。以下の手順に従って、外部 ID に基づいた upsert を実行してみましょう。

  1. まず、データソースを設定します。この例では Salesforce を使用していますが、どのソースでもこのプロセスを適用できます。
  2. ツールボックスの「データフロー変換」セクションから「派生列」変換コンポーネントをデータフローにドラッグします。
  3. 「派生列」をダブルクリックして変換エディタを開き、新しいカラムを追加します。派生カラム名に新しいカラムの名前を設定します(この例では MyExternalIdColumn)。派生カラムフィールドで「新しい列として追加」オプションを選択します。式フィールドには、Salesforce のデスティネーションテーブルの外部 ID カラム名を引用符を含めて設定します。この例では "external_id_c__c" を使用しています。
  4. Salesforce デスティネーションコンポーネントを追加します。Salesforce 接続マネージャーで、Salesforce へのログインに使用する資格情報を設定します。資格情報の指定に加えて、Pseudo Column を *=* に設定します。Pseudo Column を *=* に設定すると、プロバイダーはデスティネーションテーブルのスキーマに "ExternalIdColumn" という疑似カラムを含めます。このカラムは以下のマッピングで使用します。
  5. Salesforce デスティネーションコンポーネントで、upsert 操作に使用するテーブル(デスティネーションテーブル)を指定します。マッピングセクションで、ステップ 3 で作成した派生カラム(この例では MyExternalIdColumn)を、ステップ 4 で説明した "ExternalIdColumn" 疑似カラムにマッピングします。さらに、ソーステーブルのカラムを Salesforce デスティネーションテーブルの外部 ID カラムにマッピングします。この例では、ソースの "external_ID__c" をデスティネーションテーブルの "external_id_c__c" にマッピングしています。
  6. これで、Salesforce デスティネーションテーブルの外部 ID カラムに基づいて、Salesforce にデータを UPSERT するタスクを実行できます。

We appreciate your feedback.  If you have any questions, comments, or suggestions about this entry, please contact our support team at support@cdata.co.jp.