通过cmd命令行来使用Data Loader

原创
2020/04/13 18:04
阅读数 628

一、首先查看官方文章学习怎么安装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 中。

  1.  \samples\conf 目录中做一个 process-conf.xml 文件的副本。确保保留一份原文件副本,因为它含有如更新插入和导出等其他类型 Data Loader 处理的示例。

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-conf.xml 的目录路径替换 <file path to process-conf.xml>。
  • 使用 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中,查看客户。可以看到这四条数据已经进来了。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部