• CuriousG
  • NEWBIE
  • 0 Points
  • Member since 2011

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 1
    Replies

can anyone post a successful database-conf.xml file used to extract data from salesforce into SQL Server 2005.  I am attempting to use the CLI for data loader 20.0.  I believe my process-conf.xml file is fine because when i attempt to process the file it only erros when it gets to my dbDataSource bean in my database-conf.xml file. 

 

I was hoping someone could tell me that they were successful with apex data loader 20.0.  I was trying to use a jdbc driver or a jtds driver, maybe I dont have my executable jar files in the right place, currently I have them in the same place as my process/database conf files.  Is this right?  Do i need to do somethig else with the drivers?

 

I have seen examples, I have read the pdf on connecting salesforce and sql but I am just not getting it.  here is my dbDataSource bean:

 

<bean id="dbDataSource"
     class="com.salesforce.dataloader.process.ProcessRunner"
     destroy-method="close">
     <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
     <property name="url" value="jdbc:sqlserver://MyServer;databaseName=MyDatabaseName;"/>
     <property name="name" value="test"/> 
     <property name="password" value="test"/>     

 </bean>

 

The error I get is: cant resolve reference to bean 'dbDataSource' while setting property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationexception: Error creating bean with name 'dbDatasource' defined in file . . . Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException:  INvalid property 'drverCalssName' of bean class [com.salesforce.dataloader.process.ProcessRunner]:Bean property 'driverCalssName' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?

 

im fairly cetain i have the correct driver class name?  anyways, i am very frustrated, I feel like maybe Im close but maybe not??

 

 

i have done some searches on my subject and have found some useful code but mostly using older versions of apex data loader, i am using apex data loader 20.0.  I believe i have adjusted my process-conf.xml file correctly because the only error messages i get now are based on whats going on inside my database-conf.xml as i try to connect to SQL server. 

 

i have tried to use jdbc connectivity and jtds and im afraid I just am not experienced enough in getting this connected . . . so i have a couple questions if anyone can help me it would be greatly appreciated.

 

1.  I have the apex data loader in my program files and my path is ../salesforce.com/Apex Data Loader 20.0/bin/conf with my process-conf.xml and database-conf.xml files residing there.  Is this where either the executable jar file needs to reside as well, either the jtds or the sqljdbc?

 

2. using Apex Data Loader 20.0 has anyone successfully been able to extract data from salesforce to a SQL table?

 

3. If someone has a few links they could point me in that would be great too, i have seen some links from these forums but none using data loader 20.0, or is there a step by step connection to SQL through the CLI? document out there, i have seen the .pdfs but they didnt really go step by step in connecting via the CLI.

 

Im sure i have something wrong in my code and I feel like maybe I'm close but i was hopeing there was some code i could see to help me further, any help in this matter is greatly appreciated.

 

 

Here is the code for my database-conf.xml file, attempting to use jtds connectivity

 

 

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
 <bean id="dbDataSource"
   class="com.salesforce.dataloader.process.ProcessRunner"
   destroy-method="close">
   <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>
     <property name="url" value="jdbc:jtds:sqlserver://My Database Server ;databaseName=My Database Name;"/>
       <property name="name" value="test"/>
       <property name="password" value="test"/>     
 </bean>
 <bean id="insertInfo"
      class="com.salesforce.dataloader.dao.database.DatabaseConfig"
      singleton="true">
    <property name="sqlConfig" ref="insertInfoSql1"/>
    <property name="dataSource" ref="dbDataSource"/>
 </bean>
 <bean id="insertInfoSql1"
      class="com.salesforce.dataloader.dao.database.SqlConfig" singleton="true">
    <property name="sqlString">
      <value>          
            INSERT INTO Life_IVR_Test.Account
                 (
                      ID,
                      ISDELETED,
                      NAME
                    )   
              VALUES
                      (
                          @ID@,
                      @ISDELETED@,
                      @NAME@
                       )
      </value>
    </property>
    <property name="sqlParams">
        <map>
            <entry key= "ID" value= "java.lang.String"/>
            <entry key= "ISDELETED" value= "java.lang.String"/>
            <entry key= "NAME" value= "java.lang.String"/>
           
        </map>
    </property>
 </bean>

</beans>

 

 

 

 

 

 

 

i have done some searches on my subject and have found some useful code but mostly using older versions of apex data loader, i am using apex data loader 20.0.  I believe i have adjusted my process-conf.xml file correctly because the only error messages i get now are based on whats going on inside my database-conf.xml as i try to connect to SQL server. 

 

i have tried to use jdbc connectivity and jtds and im afraid I just am not experienced enough in getting this connected . . . so i have a couple questions if anyone can help me it would be greatly appreciated.

 

1.  I have the apex data loader in my program files and my path is ../salesforce.com/Apex Data Loader 20.0/bin/conf with my process-conf.xml and database-conf.xml files residing there.  Is this where either the executable jar file needs to reside as well, either the jtds or the sqljdbc?

 

2. using Apex Data Loader 20.0 has anyone successfully been able to extract data from salesforce to a SQL table?

 

3. If someone has a few links they could point me in that would be great too, i have seen some links from these forums but none using data loader 20.0, or is there a step by step connection to SQL through the CLI? document out there, i have seen the .pdfs but they didnt really go step by step in connecting via the CLI.

 

Im sure i have something wrong in my code and I feel like maybe I'm close but i was hopeing there was some code i could see to help me further, any help in this matter is greatly appreciated.

 

 

Here is the code for my database-conf.xml file, attempting to use jtds connectivity

 

 

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
 <bean id="dbDataSource"
   class="com.salesforce.dataloader.process.ProcessRunner"
   destroy-method="close">
   <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>
     <property name="url" value="jdbc:jtds:sqlserver://My Database Server ;databaseName=My Database Name;"/>
       <property name="name" value="test"/>
       <property name="password" value="test"/>     
 </bean>
 <bean id="insertInfo"
      class="com.salesforce.dataloader.dao.database.DatabaseConfig"
      singleton="true">
    <property name="sqlConfig" ref="insertInfoSql1"/>
    <property name="dataSource" ref="dbDataSource"/>
 </bean>
 <bean id="insertInfoSql1"
      class="com.salesforce.dataloader.dao.database.SqlConfig" singleton="true">
    <property name="sqlString">
      <value>          
            INSERT INTO Life_IVR_Test.Account
                 (
                      ID,
                      ISDELETED,
                      NAME
                    )   
              VALUES
                      (
                          @ID@,
                      @ISDELETED@,
                      @NAME@
                       )
      </value>
    </property>
    <property name="sqlParams">
        <map>
            <entry key= "ID" value= "java.lang.String"/>
            <entry key= "ISDELETED" value= "java.lang.String"/>
            <entry key= "NAME" value= "java.lang.String"/>
           
        </map>
    </property>
 </bean>

</beans>