Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

データローダーをバッチモードで使用する際の設定手順

公開日: Feb 27, 2025
説明

データローダー (Data Loader) をバッチモード (Batch Mode) で使用するための設定手順を説明します。暗号化キーの生成、パスワードの暗号化、対応付けファイルの作成、設定ファイルの編集、そしてコマンドラインでの実行方法を詳細に説明します。

解決策
まずは設定ファイルで使用する暗号化キーの生成をします。 
 
Windows のコマンドプロンプトから暗号化キーを生成 (データローダーバージョン 42以前の場合)​

1. データローダーのインストールディレクトリへ移動します。 

[cd C:\Program Files (x86)\salesforce.com\Data Loader\bin] 

2. 任意の文字列を用いて暗号化キーを生成します。コマンド中の <seedtext> は任意の文字列に置き換えます。 

[encrypt.bat -g <seedtext>] 

3. 出力された次のコンソールの *************** の部分をテキストファイルにコピーし、"key.txt" として保存します。このキーは次のステップでパスワードを暗号化する際に使用します。 

[security.EncryptionUtil main (EncryptionUtil.java:304) - ***************] 

Windows のコマンドプロンプトから暗号化キーを生成 (データローダーバージョン 43,44の場合)

1. データローダーのインストールディレクトリへ移動します。 

[cd C:\Program Files (x86)\salesforce.com\Data Loader\bin] 

2. 暗号化キーファイルを生成します。コマンド中の <path to key file> は任意のディレクトリ、およびファイル名(拡張子は.keyとします)に置き換えます。<path to key file>の指定がない場合、 "C:\Users\<Windowsユーザー名>\.dataloader\dataLoader.key" として暗号化キーファイルが生成されます。

[encrypt.bat -k <path to key file>] 

3. 暗号化キーファイルが生成されたことを確認します。このファイルは次のステップでパスワードを暗号化する際に使用します。 

例: [Keyfile "C:\Users\<Windowsユーザー名>\.dataloader\dataLoader.key" was created!] 

 

Windows のコマンドプロンプトから暗号化キーを生成 (データローダーバージョン 45 以降の場合)

1. データローダーのインストールディレクトリへ移動します。 

[C:\Users\<Windows ユーザー名>\dataloader\<データローダーバージョン>\bin]

2. 暗号化キーファイルを生成します。コマンド中の <path to key file> は任意のディレクトリ、およびファイル名(拡張子は.keyとします)に置き換えます。<path to key file>の指定がない場合、 "C:\Users\<Windowsユーザー名>\.dataloader\dataLoader.key" として暗号化キーファイルが生成されます。

[encrypt.bat -k <path to key file>] 

3. 暗号化キーファイルが生成されたことを確認します。このファイルは次のステップでパスワードを暗号化する際に使用します。 

例: [Keyfile "C:\Users\<Windowsユーザ名>\.dataloader\dataLoader.key" was created!] 

 
次に暗号化パスワードを作成します。 

ログインユーザー名の暗号化パスワードを作成 (データローダーバージョン 42 以前の場合)

暗号化キーを用いて、データローダーのパスワードを暗号化パスワードに変換します。<password> はデータローダーが Salesforce (セールスフォース) にログインするために使用するパスワード、<filepath> は "key.txt"を保存したディレクトリに置き換え、コマンドプロンプト上で実行します。 

[encrypt.bat -e <password> "<filepath>\key.txt"] 

 

ログインユーザー名の暗号化パスワードを作成 (データローダーバージョン 43以降の場合)

暗号化キーファイルを用いて、データローダーのパスワードを暗号化パスワードに変換します。<password> はデータローダーが Salesforce にログインするために使用するパスワード、<filepath> は ".key"を保存したディレクトリに置き換え、コマンドプロンプト上で実行します。 

例: [encrypt.bat -e <password> "C:\Users\<Windowsユーザー名>\.dataloader\dataLoader.key"] 

 
## 備考 1 ## 
暗号化パスワードは、後に設定ファイル上で Salesforce のログインパスワードとして使用します。また暗号化は設定ファイル上のパスワードを保護する目的で行っています。 
 
## 備考 2 ## 
データローダーにログインするためのパスワードは通常、Salesforce にログインするためのパスワードと異なり、セキュリティトークンが必要になります。セキュリティトークンを使用する場合、ログインパスワードの末尾にセキュリティートークンを続けて記述したうえで暗号化し、sfdc.password に設定いただく必要がございます。セキュリティトークンの取得方法については、以下の記事を参照ください。
 
 
次に入力ファイルと出力ファイルのマッピング用の対応付けファイルを作成します。 
 
入力ファイルと Salesforce のオブジェクトとの項目の対応付けファイルを作成 
1. 対応付けファイルを新規作成して、拡張子に .sdl を指定します。 
2. 次の構文に従って対応づけファイルを作成します。 
 
以下に設定例を記載します。 
 
<データ挿入の列の対応付けの例> 
----- 
SLA__C=SLA__c 
BILLINGCITY=BillingCity 
----- 
 
## 備考 ## 
今回は Insert のため、左を Insert するファイルの列名、右を挿入先 (Salesforce) の項目名として設定しています。 
各項目の詳細な内容などは、以下が参考になります。 
 
 
 
 
次にデータローダーの設定ファイルを作成します。 
 
データローダーがデータを処理するための設定ファイルを作成 
 
1. データローダーのインストールディレクトリから [\samples\conf] ディレクトリから [process-conf.xml] ファイルをコピーします。 
2. お客様のログイン情報、設定ファイル、処理に必要な各ファイルの情報を [process-conf.xml] に上書きします。 
 
<設定例> 
----- 
<entry key="sfdc.endpoint" value="https://login.salesforce.com"/> 
<entry key="sfdc.username" value="hogehoge@test"/> 
<entry key="sfdc.password" value="******暗号化パスワード*****"/> 
<entry key="process.encryptionKeyFile" value="key.txt"/> //(データローダーバージョン 42 以前の場合)
<entry key="process.encryptionKeyFile" value="C:\Users\<Windowsユーザ名>\.dataloader\dataLoader.key"/> //(データローダーバージョン 43 の場合)
<entry key="process.mappingFile" value="test.sdl"/> 
<entry key="dataAccess.name" value="test_data.csv"/> 
<entry key="sfdc.debugMessages" value="true"/> 
<entry key="sfdc.debugMessagesFile" value="testMap.sdl"/> 
<entry key="process.outputSuccess" value="C:\test\success.csv"/> 
<entry key="process.outputError" value="C:\test\error.csv"/> 
<entry key="dataAccess.type" value="databaseWrite"/> 
 
----- 
 
  • sfdc.endpoint : 組織の Salesforce の URL (https://login.salesforce.com など)
  • sfdc.username : データローダーがログインに使用するユーザ名 
  • sfdc.password : 暗号化パスワードの値 
  • process.encryptionKeyFile : 暗号化パスワードを作成する際に使用した暗号化キー、もしくは暗号化キーファイル
  • process.mappingFile : 対応付けファイルのパスとファイル名 
  • dataAccess.Name : インポートする取引先を含むデータファイルのパスとファイル名 
  • sfdc.debugMessages : トラブルシューティングの項。必要に応じて [true/false] を記載 
  • sfdc.debugMessagesFile : SOAP メッセージを保存するファイルのパスとファイル名 
  • process.outputSuccess : 成功ログファイルのパスとファイル名 
  • process.outputError : エラーログファイルのパスとファイル名 
  • dataAccess.type : ファイル種別と入出力タイプを入力 [例:csvRead、databaseWrite] コマンドラインのログファイル 
 
 
各項目の詳細な内容については以下が参考になります。 
 
 
 
 
最後にプロセスをコマンドライン上で実行します。 
 
コマンドライン上でプロセスを実行しデータを処理 
コマンドプロンプトで処理を実行します。 
<file path to process-conf.xml> を process-conf.xml を含むディレクトリのパスに、<process name> を process-conf.xml に指定されたプロセスにそれぞれ置き換えます。
 
[process.bat "<file path to process-conf.xml>" <process name>] 
 
※[process-conf.xml に指定されたプロセス] とは beans のプロセスであり [bean id="*****"] の "" の箇所を指します。 
 
以上の手順を実行することでデータローダーを GUI ではなくコマンドラインで実行することが可能です。
 
以下に関連する記事を記載します。 
 
ナレッジ記事番号

000386154

 
読み込み中
Salesforce Help | Article