Skip to main content
Hi,

 

        I am trying to integrate ms access database with salesforce through command line dataloader using odbc driver.  I have done 99% successfully but at last I got error saying that......

 

17729 [databaseAccountExtract] ERROR com.salesforce.dataloader.action.progress.N

ihilistProgressAdapter  - Database error encountered during setup of the databas

e configuration: queryAccountAll.  Sql error: Invalid Fetch Size.

 

Here i am providing my code:

 

process-conf file:

 

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "

http://www.springframework.org/dtd/spring-beans.dtd

">

 

<beans>

<!-- Extract Account From Salesforce and Insert into Database Server -->

 

<bean id="CustomerInsertProcess" class="com.salesforce.dataloader.process.ProcessRunner" singleton="false">

<description>databaseAccountExtract job gets account info from salesforce and saves info into database server."</description>

<property name="name" value="databaseAccountExtract"/>

<property name="configOverrideMap">

<map>

<entry key="sfdc.debugMessages" value="true"/>

<entry key="sfdc.debugMessagesFile" value="

C:\DLTest1\log\CustomerInsertProcess.log

"/>

<entry key="sfdc.endpoint" value="

https://login.salesforce.com

"/>

<entry key="sfdc.username" value="

thiru.rixyncs@gmail.com

"/>

<!-- 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 encrypt.bat utility -->

<entry key="sfdc.password" value="95c9f53df3439ad5642b424aa4f28dcf"/>

<entry key="process.encryptionKeyFile" value="

C:\DLTest1\key.txt

"/>

<entry key="sfdc.entity" value="Account"/>                   

<entry key="process.operation" value="insert" />

<entry key="process.mappingFile" value="

c:\DLTest1\DatabaseAccountInsertMap.sdl

"/>

<entry key="dataAccess.type" value="databaseRead"/>

<entry key="

dataAccess.name

" value="queryAccountAll"/>

</map>

</property>

</bean>

 

</beans>

 

database-conf file:

 

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "

http://www.springframework.org/dtd/spring-beans.dtd

">

 

<beans>

 

<bean id="dbDataSource"

     class="org.apache.commons.dbcp.BasicDataSource"

             destroy-method="close">

   <property name="driverClassName" value="sun.jdbc.odbc.JdbcOdbcDriver"/>

   <property name="url" value="jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=

E:\NickDB\005970_CRMExport_Weekly.mdb

"/>

</bean>

 

 

<!-- For Account Insert -->

 

<bean id="queryAccountAll"

     class="com.salesforce.dataloader.dao.database.DatabaseConfig">

<property name="dataSource" ref="dbDataSource"/>   

 <property name="sqlConfig" ref="queryAccountAllsql"/>

   

</bean>

 

<bean id="queryAccountAllsql"

     class="com.salesforce.dataloader.dao.database.SqlConfig">

   <property name="sqlString">

<value>

 

   SELECT Aircraft.ac_country_of_registration FROM Aircraft where Aircraft.ac_country_of_registration="Qatar"

 

</value>

            </property>

   <property name="columnNames">

<list>

   <value>ac_country_of_registration</value>

       </list>

   </property>

   

</bean>

</beans>

 

 

mapping SDL file:

 

 

#.Mappings

ac_country_of_registration=Name

 

 

...........

 

So, please let me know where did i do mistake.

 

 

Or, is there any other way without using command line dataloader?

 

 

eagerly anticipating for your reply

 

 

Thanks :)

 

 

5 个回答
0/9000