You need to sign in to do that
Don't have an account?
Khushal M Jain
not able to update oracle table from command line data loader
I am extracting Lead ID and Email from salesforce and updating an Oracle Table with ID if the email matches.
If I hard code email address then the update works correctly.
<bean id="updateLeadSql"
class="com.salesforce.dataloader.dao.database.SqlConfig" singleton="true">
<property name="sqlString">
<value>
update VM_TDM.LEAD LEAD
set LEAD.ID = @ID@
where
LEAD.EMAIL= 'Padraig.Acton@Prontomail.com'
</value>
</property>
<property name="sqlParams">
<map>
<entry key="ID" value="java.lang.String"/>
<entry key="EMAIL" value="java.lang.String"/>
</map>
</property>
</bean>
But if I pass it as reference parameter as below, then the update does not happen.
I am not getting any erros in either case.
<bean id="updateLeadSql"
class="com.salesforce.dataloader.dao.database.SqlConfig" singleton="true">
<property name="sqlString">
<value>
update VM_TDM.LEAD LEAD
set LEAD.ID = @ID@
where
LEAD.EMAIL= @EMAIL@
</value>
</property>
<property name="sqlParams">
<map>
<entry key="ID" value="java.lang.String"/>
<entry key="EMAIL" value="java.lang.String"/>
</map>
</property>
</bean>
If I hard code email address then the update works correctly.
<bean id="updateLeadSql"
class="com.salesforce.dataloader.dao.database.SqlConfig" singleton="true">
<property name="sqlString">
<value>
update VM_TDM.LEAD LEAD
set LEAD.ID = @ID@
where
LEAD.EMAIL= 'Padraig.Acton@Prontomail.com'
</value>
</property>
<property name="sqlParams">
<map>
<entry key="ID" value="java.lang.String"/>
<entry key="EMAIL" value="java.lang.String"/>
</map>
</property>
</bean>
But if I pass it as reference parameter as below, then the update does not happen.
I am not getting any erros in either case.
<bean id="updateLeadSql"
class="com.salesforce.dataloader.dao.database.SqlConfig" singleton="true">
<property name="sqlString">
<value>
update VM_TDM.LEAD LEAD
set LEAD.ID = @ID@
where
LEAD.EMAIL= @EMAIL@
</value>
</property>
<property name="sqlParams">
<map>
<entry key="ID" value="java.lang.String"/>
<entry key="EMAIL" value="java.lang.String"/>
</map>
</property>
</bean>
Josh Long 6
Unfortuneately I am not as familiar with command line data loader. However, I would assume that it may be it needs to pass the single qoutes as well. I would try putting in something to print out what it's actually passing to see what it's expecting vs what it's getting. I would have expected it to error but my first guess is that it wants those single quotes.