この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

SQL の設定

使用可能なエディション: Salesforce Classic および Lightning Experience
使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、Developer Edition、および Database.com Edition

データローダのコマンドラインインターフェースは、Windows でのみサポートされています。

メモ

コマンドラインからデータローダをバッチモードで実行しているときに、SqlConfig クラスには、データベース内の特定のデータにアクセスするための設定パラメータが含まれます。���のコードサンプルに示すように、クエリと挿入は違うものですが、よく似ています。bean は、タイプが com.salesforce.dataloader.dao.database.SqlConfig で、次のプロパティを持っている必要があります。

sqlString
データアクセスオブジェクトが使用する SQL コード。

SQL には、設定や操作変数に応じて文字列を作成する置換パラメータを含めることができます。置換パラメータは、始めと終わりの両端を「@」文字で区切る必要があります。たとえば、@process.lastRunDate@ となります。

sqlParams
sqlString で指定した置換パラメータの説明が含まれているタイプ map のプロパティ。各エントリが 1 つの置換パラメータを表します。キーは置換パラメータの名前、値はパラメータが SQL 文に設定された場合に使用される完全修飾された Java 型です。java.util.Date に代わる java.sql.Date など、「java.sql」型が必要になる場合があります。詳細は、JDBC API の公式マニュアルを参照してください。
columnNames
クエリ (SELECT ステートメント) が JDBC ResultSet を返す場合に使用されます。SQL の実行によって出力されたデータの列名が含まれています。列名を使用して、DataReader インターフェースの呼び出し元にアクセスして出力を返します。

SQL クエリ bean の例

1<bean id="accountMasterSql"
2    class="com.salesforce.dataloader.dao.database.SqlConfig"
3    singleton="true">
4    <property name="sqlString"/>
5        <value>
6            SELECT distinct
7                '012x00000000Ij7' recordTypeId,
8                accounts.account_number,
9                org.organization_name,
10                concat (concat(parties.address1, ' '), parties.address2) billing_address,
11                locs.city,
12                locs.postal_code,
13                locs.state,
14                locs.country,
15                parties.sic_code
16            from
17                ar.hz_cust_accounts accounts,
18                ar.hz_organization_profiles org,
19                ar.hz_parties parties,
20                ar.hz_party_sites party_sites,
21                ar.hz_locations locs
22            where
23                accounts.PARTY_ID = org.PARTY_ID
24                and parties.PARTY_ID = accounts.PARTY_ID
25                and party_sites.PARTY_ID = accounts.PARTY_ID
26                and locs.LOCATION_ID = party_sites.LOCATION_ID
27                and (locs.last_update_date > @process.lastRunDate@ OR accounts.last_update_date > @process.lastRunDate@
28        </value>
29    </property>
30    <property name="columNames">
31        <list>
32            <value>recordTypeId</value>
33            <value>account_number</value>
34            <value>organization_name</value>
35            <value>billing_address</value>
36            <value>city</value>
37            <value>postal_code</value>
38            <value>state</value>
39            <value>country</value>
40            <value>sic_code</value>
41        </list>
42    </property>
43    <property name="sqlParams">
44        <map>
45            <entry key="process.lastRunDate" value="java.sql.Date"/>
46        </map>
47    </property>
48</bean>

SQL 挿入 Bean の例

1<bean id="partiesInsertSql"
2    class="com.salesforce.dataloader.dao.database.SqlConfig"
3    singleton="true">
4    <property name="sqlString"/>
5        <value>
6            INSERT INTO REP.INT_PARTIES (
7            BILLING_ADDRESS, SIC_CODE)
8            VALUES (@billing_address@, @sic_code@)
9        </value>
10    </property>
11    <property name="sqlParams"/>
12        <map>
13            <entry key="billing_address" value="java.lang.String"/>
14            <entry key="sic_code" value="java.lang.String"/>
15        </map>
16    </property>
17</bean>