一、首先查看官方文章学习怎么安装Data Loader
https://help.salesforce.com/articleView?id=command_line_import_data.htm&type=5
二、使用cmd命令行来操作Data Loader需要以下五个步骤
1、创建加密密钥文件
2、创建加密密码
3、创建字段映射文件
4、创建配置文件
5、导入数据
1.创建一个key.txt,在里面写入你的加密秘钥(相当于密码提示问题,只能通过这个来解码你加密过的密码)
(注意:Key需要16位的数字或者字母作为加密秘钥)
1.打开cmd,进入到Data Loader安装目录里的bin中
2.输入转换指令 encrypt -e 密码 加密秘钥位置 (具体看下图),回车
3.会生成一个加密过的秘钥(这个要复制保存起来,后面会用上)
4.密码加密完成,进入下一阶段
注意:这里密码如果没有设置IP登录范围,那就还得需要加上安全的标记
密码后跟着安全标识码。要是在使用webservice来访问不需要安全标识码,可以在SF中进行IP登录范围设置:
如何配置实现超级管理员下次登录salesforce org不需要输入验证码:Profile -> System Administrator -> Login IP Ranges,设置IP Start Address:0.0.0.0,IP End Address:255.255.255.255即可。
1、将以下复制到文本文件并将其以 accountInsertMap.sdl 名称保存。这是一种数据插入,因此数据源在等号的左侧,目标字段在右侧。
#Mapping values
#Thu May 26 16:19:33 GMT 2011
Name=Name
NumberOfEmployees=NumberOfEmployees
Industry=Industry
process-conf.xml 文件含有 Data Loader 需要处理数据的信息。process-conf.xml 文件中的 <bean>
是指单个进程,例如插入、更新插入或导出。因此,此文件可含有多个过程。在此步骤中,您会编辑文件以将客户插入 Salesforce 中。
2、 在文本编辑器中打开文件并用以下 XML 替换内容:
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="accountInsert"
class="com.salesforce.dataloader.process.ProcessRunner"
singleton="false">
<description>accountInsert job gets the account record from the CSV file
and inserts it into Salesforce.</description>
<property name="name" value="accountInsert"/>
<property name="configOverrideMap">
<map>
<entry key="sfdc.debugMessages" value="true"/>
<entry key="sfdc.debugMessagesFile"
value="C:\Users\pc\dataloader\v47.0.0\Log\accountInsertSoapTrace.log"/>
<entry key="sfdc.endpoint" value="https://ap8.salesforce.com/"/>
<entry key="sfdc.username" value="alice.zhu@slipstream.com.cn"/>
<!--Password below has been encrypted using key file,
therefore, it will not work without the key setting:
process.encryptionKeyFile.
The password is not a valid encrypted value,
please generate the real value using the encrypt.bat utility -->
<entry key="sfdc.password" value="dd4a13ad269174ef15b8622ad7475eea62471fb41998895ff2ff447c267fb115"/>
<entry key="process.encryptionKeyFile"
value="C:\test\Key.txt"/>
<entry key="sfdc.timeoutSecs" value="600"/>
<entry key="sfdc.loadBatchSize" value="200"/>
<entry key="sfdc.entity" value="Account"/>
<entry key="process.operation" value="insert"/>
<entry key="process.mappingFile"
value="C:\Users\pc\dataloader\v47.0.0\samples\conf\accountInsertMap.sdl"/>
<entry key="dataAccess.name"
value="C:\Users\pc\dataloader\v47.0.0\account.csv"/>
<entry key="process.outputSuccess"
value="C:\Users\pc\dataloader\v47.0.0\Log\accountInsert_success.csv"/>
<entry key="process.outputError"
value="C:\Users\pc\dataloader\v47.0.0\Log\accountInsert_error.csv\"/>
<entry key="dataAccess.type" value="csvRead"/>
<entry key="process.initialLastRunDate"
value="2005-12-01T00:00:00.000-0800"/>
</map>
</property>
</bean>
</beans>
3、 修改 process-conf.xml 文件中的以下参数。有关过程配置参数的详细信息,请参加Data Loader 过程配置参数。
sfdc.endpoint
—为您的组织输入 Salesforce 实例的 URL;例如,https://yourInstance.salesforce.com/。sfdc.username
—输入 Data Loader 用于登录的用户名。sfdc.password
—输入您在步骤 2 中创建的加密密码值。process.mappingFile
—输入映射文件的路径和文件名。dataAccess.Name
—输入含有您想要导入的客户的数据文件路径和文件名。sfdc.debugMessages
—目前为故障排除设置为 true
(真)。当您的导入已开始并且在运行后,将设置为 false
。sfdc.debugMessagesFile
—输入命令行日志文件的路径和文件名。process.outputSuccess
—输入成功日志文件的路径和文件名。process.outputError
—输入错误日志文件的路径和文件名。1、将以下数据复制到名为 accountInsert.csv 的文件。这是您会导入到您的组织中的客户数据。
Name,Industry,NumberOfEmployees
Dickenson plc,Consulting,120
GenePoint,Biotechnology,265
Express Logistics and Transport,Transportation,12300
Grand Hotels & Resorts Ltd,Hospitality,5600
在命令提示符窗口中,输入以下命令:
process.bat "<file path to process-conf.xml>" <process name>
您的命令应看起来如下:
process.bat "C:\Users\pc\dataloader\v47.0.0\samples\conf" accountInsert
在过程运行之后,命令提示符窗口显示成功和错误消息。您还可以检查日志文件:insertAccounts_success.csv 和 insertAccounts_error.csv。在成功运行过程之后,insertAccounts_success.csv 文件含有您随每个记录的 ID 和状态导入的记录
通过CMD的打印,我们可以知道这四条已经成功插入到SF系统中了。
登录SF中,查看客户。可以看到这四条数据已经进来了。