目录
Salesforce是一个很有名客户关系管理系统,最近的项目需要将Salesforce中的数据每天定时更新到数据仓库中,所以写下这篇文章记录一下项目开发过程以及一些需要注意的细节(仅限于Windows系统)。
阅读这篇文章需要你有以下技能:
- Java编程知识(Jar的执行,Java Bean的使用)
- 简单的DOS命令行使用
- 了解Salesforce
概述
Salesforce作为成熟的客户关系管理系统,针对数据的导入、更新、导出开发了自己的一套SOAP API(全名:简单对象访问协议应用程序接口)。而Data loader可以说是使用Java语言对SOAP API进行实现,封装成一个工具(Jar包),可以导入、更新、导出Salesforce中的数据,项目中只用到了导出功能,其他功能不加介绍。这个工具有GUI和命令行两种模式,当然,在ETL开发中使用的是他的命令行模式。
安装
Zulu OpenJDK安装
目前的Data loader版本依赖于Zulu OpenJDK而不依赖于Oracle JDK,所以安装JDK之前需要安装OpenJDK。请点击这里下载windows版本的.msi文件进行安装,然后检查一下你的环境变量,确认无误后进入下一步。
Data loader下载与安装
使用快速搜索功能搜索Data Loader,下载Windows版本并解压。执行install.bat文件,一般会将dataloader安装在C盘的用户文件夹下。
Data loader的使用说明
完成dataloader的安装之后,我们就要使用这个工具去导出数据。通过命令行执行dataloader Jar包,传入需要的参数,将指定的数据对象导出为CSV文件,以下对dataloader的使用进行详细说明。
代码说明
打开dataloader安装文件夹,如下图所示:
打开bin目录下的process.bat文件,会发现有如下代码:
@echo off
if not [%1]==[] goto run
echo.
echo Usage: process ^<configuration directory^> ^[process name^]
echo.
echo configuration directory -- directory that contains configuration files,
echo i.e. config.properties, process-conf.xml, database-conf.xml
echo.
echo process name -- optional name of a batch process bean in process-conf.xml,
echo for example:
echo.
echo process ../myconfigdir AccountInsert
echo.
echo If process name is not specified, the parameter values from config.properties
echo will be used to run the process instead of process-conf.xml,
echo for example:
echo.
echo