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

SQL の設定

使用可能なエディション: 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
クエリ ([選択] 文) が JDBC ResultSet を返す場合に使用されます。SQL の実行によって出力されたデータの列名が含まれています。列名を使用して、DataReader インターフェースの呼び出し元にアクセスして出力を返します。

SQL クエリ bean の例

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

SQL 挿入 Bean の例

1swfobject.registerObject("clippy.codeblock-1", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<bean id="partiesInsertSql"
18    class="com.salesforce.dataloader.dao.database.SqlConfig"
19    singleton="true">
20    <property name="sqlString"/>
21        <value>
22            INSERT INTO REP.INT_PARTIES (
23            BILLING_ADDRESS, SIC_CODE)
24            VALUES (@billing_address@, @sic_code@)
25        </value>
26    </property>
27    <property name="sqlParams"/>
28        <map>
29            <entry key="billing_address" value="java.lang.String"/>
30            <entry key="sic_code" value="java.lang.String"/>
31        </map>
32    </property>
33</bean>