Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Salesforce 带命令行的apex数据加载器中的键提取SOQL值_Salesforce - Fatal编程技术网

Salesforce 带命令行的apex数据加载器中的键提取SOQL值

Salesforce 带命令行的apex数据加载器中的键提取SOQL值,salesforce,Salesforce,我正在使用命令行apex数据加载器。我想提取那些“last_ax_date”字段值大于数据加载程序机器上某处指定的日期的帐户 <bean id="ExtractAXAccounts" class="com.salesforce.dataloader.process.ProcessRunner" singleton="false"> <property name="configOverrideMap"><map> <e

我正在使用命令行apex数据加载器。我想提取那些“last_ax_date”字段值大于数据加载程序机器上某处指定的日期的帐户

<bean id="ExtractAXAccounts"  class="com.salesforce.dataloader.process.ProcessRunner"
      singleton="false">
    <property name="configOverrideMap"><map>
        <entry key="process.operation" value="extract" />
        <entry key="dataAccess.type" value="csvWrite" />
        <entry key="sfdc.extractionSOQL" value="select Id, Name, Last_AX_Date from  Account  where Last_AX_Date greater then 'date store in somewhere in the system'" />
    </map></property>
</bean>


根据上述情况,我希望动态提取帐户。因此,我必须在哪里指定日期,以及如何将其用于“sfdc.extractionSOQL”值。

我不认为可以只为部分
sfdc.extractionSOQL
传入值,但您可以从执行DataLoader.jar的脚本传入整个查询。这将允许您在从命令行执行时传入日期值。请记住,如果不对Data Loader附带的
process.bat
文件进行一些修改,这是不可能的,因此这里有一个直接调用DataLoader.jar的解决方案:

process-conf.xml
(将
sfdc.extractionSOQL
保留在声明之外):


然后,您可以从命令行调用
runDL 2012-01-01T00:00:00Z
,以提取
Last\u AX\u Date
大于2012年1月1日的所有记录。

非常感谢。我唯一的意见是,如果在查询中使用像=这样的字符,它将给您带来问题。查看此论坛了解更多详细信息。
<bean id="ExtractAXAccounts"  class="com.salesforce.dataloader.process.ProcessRunner"
    singleton="false">
    <property name="configOverrideMap"><map>
        <entry key="process.operation" value="extract" />
        <entry key="dataAccess.type" value="csvWrite" />
    </map></property>
</bean>
set classpath=C:\salesforce\dataloader\lib\DataLoader.jar
set mainclass=com.salesforce.dataloader.process.ProcessRunner
set confdir=C:\salesforce\dataloader\conf

if [%1]==[]  goto error

call java -cp %classpath% -Dsalesforce.config.dir=%confdir% %mainclass% process.name=ExtractAXAccounts sfdc.extractionSOQL="select Id, Name, Last_AX_Date from  Account where Last_AX_Date > %1"
goto end

:error
echo Error: missing date argument (must be in 'yyyy-mm-ddThh:mm:ssZ' format)
:end