> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Salesforce

CData Sync アプリケーションからSalesforce コネクタを使用して、Salesforce からデータを取得してサポートされている任意の同期先に移動できます。これを行うには、コネクタを追加し、コネクタへの認証を行い、接続を完了する必要があります。

## Salesforce コネクタを追加する

Sync でSalesforce のデータを使用できるようにするには、まず以下の手順でコネクタを追加する必要があります：

<ol>
  <li>Sync のダッシュボードから**接続**ページを開きます。</li>
  <li>**接続を追加**をクリックして**コネクタを選択**ページを開きます。</li>
  <li>**データソース**タブをクリックして
  **Salesforce** 行に移動します。</li>

  <li>
    行末にある**接続を設定**アイコンをクリックして、**新しい接続**ページを開きます。この操作により、
    **接続を追加**ダイアログボックスが開きます。

    **Note：** **接続を設定**アイコンが表示されない場合は、**コネクタをダウンロード**アイコンをクリックして Salesforce コネクタをインストールしてください。
  </li>

  <li>**接続を追加**ダイアログボックスに接続名を入力します。</li>
  <li>**追加**をクリックして、コネクタの**設定**タブを開きます。</li>
</ol>

新しいコネクタのインストールについての詳細は、
[接続](https://docs.sync.cdata.com/26.4/ja/connections/connections.md)を参照してください。

## Salesforce への認証

コネクタを追加したら、必要なプロパティを設定します。

CData Sync は、いくつかの方法でSalesforce への認証をサポートしています。以下から認証方法を選択し、認証の詳細を含む該当セクションに進みます。

* [**Basic**](#basic)
* [**OAuth**](#oauth)
* [**OAuth Password**](#oauth-password)
* [**OAuth JWT**](#oauth-jwt)
* [**OneLogin**](#onelogin)
* [**PingFederate**](#pingfederate)
* [**OKTA**](#okta)
* [**ADFS**](#adfs)
* [**Azure Active Directory**](#azure-active-directory)

### Basic

ユーザー資格情報およびセキュリティトークンで接続するには、次を指定します：

* **Auth Scheme：** **Basic** を選択。
* **User：** Salesforce アカウントへの認証に使用するユーザー名を入力。
* **Password：** Salesforce アカウントへの認証に使用するパスワードを入力。
* **Security Token：** Salesforce アカウントのセキュリティトークンを入力。セキュリティトークンがわからない場合は、次の手順でリセットできます：
  1. [https://www.salesforce.com/](https://www.salesforce.com/) Web サイトで個人情報ページを開きます。
  2. セキュリティトークンをリセットするためのリンクをクリックします。トークンがE メールで送信されます。

### OAuth

CData Sync は、接続するための組み込みOAuth アプリケーションを提供します。アプリケーションを使用するには、**Auth Scheme** で**OAuth** を選択します。追加のプロパティは必要ありません。

### OAuth Password

OAuth 資格情報で接続するには、次を指定します：

* **Auth Scheme：** **OAuthPassword** を選択。
* **User：** Salesforce アカウントへの認証に使用するユーザー名を入力。
* **Password：** Salesforce アカウントへの認証に使用するパスワードを入力。
* **Security Token：** Salesforce アカウントのセキュリティトークンを入力。セキュリティトークンがわからない場合は、次の手順でリセットできます：
  1. [https://www.salesforce.com/](https://www.salesforce.com/) Web サイトで個人情報ページを開きます。
  2. セキュリティトークンをリセットするためのリンクをクリックします。トークンがE メールで送信されます。

### OAuth JWT

JWT で接続するには、次を指定します：

* **Auth Scheme：** **OAuthJWT** を選択。
* **OAuth JWT Cert：** Java web token（JWT）証明書ストアを入力。
* **OAuth JWT Cert Type：** JWT 証明書を格納するキーストアの種類を入力。デフォルトの種類は**PEMKEY\_BLOB** です。
* **OAuth JWT Issuer：** Java web token の発行者を入力。通常、発行者はOAuth アプリケーションのクライアントId またはE メールアドレスです。
* **OAuth JWT Cert Password：** OAuth JWT 証明書のパスワードを入力。
* **OAuth JWT Cert Subject：** OAuth JWT 証明書のサブジェクトを入力。
* **OAuth JWT Subject：** アプリケーションが委任されたアクセスを要求するユーザーサブジェクトを入力。

### OneLogin

OneLogin を介したシングルサインオン（SSO）で接続するには、次を指定します：

* **Auth Scheme：** **OneLogin** を選択。
* **User：** PingFederate アカウントのユーザー名を入力。
* **Password：** PingFederate アカウントのパスワードを入力。
* **SSO Login URL：** シングルサインオン（SSO）プロバイダーのログインURL を入力。
* **SSO Properties：** 使用するSSO プロパティを入力（例えば、*SSOProperty1*=*Value1*;*SSOProperty2*=*Value2*;...）。
* **SSO Exchange URL：** ID プロバイダーのSalesforce OAuth 2.0 トークンエンドポイントを入力（例えば、https\://*MyOrganization*.*My.SalesforceAcct*.com/services/oauth2/*token*）。

### PingFederate

PingFederate を介したシングルサインオン（SSO）で接続するには、次を指定します：

* **Auth Scheme：** **PingFederate** を選択。
* **User：** OneLogin アカウントのユーザー名を入力。
* **Password：** OneLogin アカウントのパスワードを入力。
* **SSO Properties：** 使用するシングルサインオン（SSO）プロパティを入力（例えば、*SSOProperty1*=*Value1*;*SSOProperty2*=*Value2*;...）。
* **SSO Exchange URL：** ID プロバイダーのSalesforce OAuth 2.0 トークンエンドポイントを入力（例えば、https\://*MyOrganization*.*My.SalesforceAcct*.com/services/oauth2/*token*）。

### OKTA

Okta を介したシングルサインオン（SSO）で接続するには、次のプロパティを指定します：

* **Auth Scheme：** **OKTA** を選択。
* **User：** OKTA アカウントのユーザー名を入力。
* **Password：** OKTA アカウントのパスワードを入力。
* **SSO Login URL：** シングルサインオン（SSO）プロバイダーのログインURL を入力。
* **SSO Properties：** 使用するシングルサインオン（SSO）プロパティを入力（例えば、*SSOProperty1*=*Value1*;*SSOProperty2*=*Value2*;...）。
* **SSO Exchange URL：** ID プロバイダーのSalesforce OAuth 2.0 トークンエンドポイントを入力（例えば、https\://*MyOrganization*.*My.SalesforceAcct*.com/services/oauth2/*token*）。

### ADFS

ADFS を介したシングルサインオン（SSO）で接続するには、次のプロパティを指定します：

* **Auth Scheme：** **ADFS** を選択。
* **User：** ADFS アカウントのユーザー名を入力。
* **Password：** ADFS アカウントのパスワードを入力。
* **SSO Login URL：** シングルサインオン（SSO）プロバイダーのログインURL を入力。
* **SSO Properties：** 使用するシングルサインオン（SSO）プロパティを入力（例えば、*SSOProperty1*=*Value1*;*SSOProperty2*=*Value2*;...）。
* **SSO Exchange URL：** ID プロバイダーのSalesforce OAuth 2.0 トークンエンドポイントを入力（例えば、https\://*MyOrganization*.*My.SalesforceAcct*.com/services/oauth2/*token*）。

### Azure Active Directory

Azure Active Directory を介したシングルサインオンで接続するには、次を指定します：

* **Auth Scheme：** **AzureAD** を選択。
* **SSO Properties：** 使用するシングルサインオン（SSO）プロパティを入力（例えば、*SSOProperty1*=*Value1*;*SSOProperty2*=*Value2*;...）。
* **SSO Exchange URL：** ID プロバイダーのSalesforce OAuth 2.0 トークンエンドポイントを入力（例えば、https\://*MyOrganization*.*My.SalesforceAcct*.com/services/oauth2/*token*）。
* **OAuth Client Id：** OAuth 認証サーバーにアプリケーションを登録した際に割り当てられたクライアントId を入力。
* **OAuth Client Secret：** OAuth 認証サーバーにアプリケーションを登録した際に割り当てられたクライアントシークレットを入力。

## 接続を完了する

接続を完了するには：

1. 次のプロパティを指定します：
   * （オプション）**API Version：** API バージョンを入力。デフォルトバージョンは**56.0**です。
   * （オプション）**Login URL：** Salesforce のログインURL を入力。
   * **Use Sandbox：** サンドボックスを有効にするかどうかを選択。デフォルトでは、**Enable** チェックボックスはオフです。
2. **高度な設定** タブで詳細な接続設定を定義します。（ただし、ほとんどの場合、これらの設定は必要ありません。）
3. OAuth or AzureAD で認証する場合は、**Salesforce への接続**をクリックしてSalesforce アカウントに接続します。
4. **作成およびテスト**をクリックして接続を作成します。

## Salesforce 数式項目のレプリケーション

Sync は、数式項目を標準フィールドとは別に管理するための専用スキーマ **Salesforce\_Formulas** を提供しています。このスキーマにより、数式項目は常に最新の計算結果で更新されます。

Salesforce の数式項目は、レプリケーションの動作において標準フィールドと異なります。具体的には、フォーミュラの定義が変更されても、Salesforce はレコードの `SystemModStamp` カラムを更新しません。この動作は、差分レプリケーションのみに依存したデータ同期で問題を引き起こす可能性があります。

Sync はこの問題に対処するために、標準フィールドと数式項目に異なるレプリケーション戦略を適用できる2つのスキーマ（**Salesforce** と **Salesforce\_Formulas**）を提供しています。

### Salesforce\_Formulas スキーマでタスクを設定する

Salesforce ジョブでタスクを追加または編集すると、Sync は**タスクを追加**ダイアログボックスに **Salesforce** と **Salesforce\_Formulas** の2つのスキーマオプションを表示します。

![Salesforce schema options in the Add Tasks dialog box](https://mintcdn.com/cdata-sync/FaXQgwCWYQjGfVUG/26.4/images/Salesforce-Source_replicating-salesforce-formula-fields_1.png?fit=max\&auto=format\&n=FaXQgwCWYQjGfVUG\&q=85\&s=cabb1ec099d3c6de19a4d40cd4624529)

**Salesforce\_Formulas** スキーマを選択した場合、使用できるのは **Id** フィールドと数式項目のみです。**Salesforce** スキーマでは、すべての標準フィールド（および接続設定によっては数式項目も）使用できます。

次のタスクを Sync で実行する場合は、**Salesforce\_Formulas** スキーマを使用します：

* 実行のたびに数式項目をトランケートして再ロードする。
* **Alter Schema** プロパティを有効にすると（ジョブの**タスク**タブでタスクを追加または編集するときに使用可能）、Salesforce で新しい数式項目が作成されたときに自動的に追加する。

### Salesforce スキーマでタスクを設定する

非数式項目を差分でレプリケートする場合は、Salesforce スキーマを使用します。このスキーマでは、**Skip Formula Fields** プロパティを使用して数式項目を含めるかどうかを制御することもできます。このプロパティは、Salesforce 接続ページの **高度な設定** タブの**Miscellaneous** カテゴリにあります。

* **Skip Formula Fields** を **True** に設定すると、Salesforce スキーマから数式項目が除外されます。
* **Skip Formula Fields** を **False** に設定すると、数式項目が Salesforce スキーマに含まれます。

> [!NOTE]
>
> **Skip Formula Fields** プロパティを変更しても、Salesforce スキーマにのみ影響します。**Salesforce\_Formulas** スキーマが返す内容は変わりません。

## 制限事項

Salesforce は `GetDeleted` 操作を過去 28 日以内に削除されたレコードに限定します。差分レプリケーションのチェックポイントが 28 日以上前の場合、Sync は削除されたレコードを取得できず、対象テーブルの差分レプリケーションを続行できません。

**エラー：** `SQL [60004] The GetDeleted operation can only get deleted data from the last 28 days.`

**解決方法：** 対象テーブルを再同期してフルリロードを実行し、新しい差分レプリケーションのチェックポイントを設定してください。

**推奨事項：** 差分レプリケーションジョブを 28 日以内に少なくとも 1 回実行するようにスケジュールしてください。

## 詳細について


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.