You need to sign in to do that
Don't have an account?
hylim12
Dataloader command Line Databasewrite option encounter NULL pointer
Hi i would like setup my Dataloader in command to extract data and insert into my local database. however i encounter NullPointerException error.
This is my process-conf.xml:
<bean id="databaseContactExtractProcess" class="com.salesforce.dataloader.process.ProcessRunner" singleton="false"> <description>DatabaseAContactExtract job gets Contact info from salesforce and updates or inserts info into database."</description> <property name="name" value="databaseContactExtractProcess"/> <property name="configOverrideMap"> <map> <entry key="sfdc.debugMessages" value="false"/> <entry key="sfdc.debugMessagesFile" value="C:\salesforcedataloader\log\sfdcSoapTrace.log"/> <entry key="sfdc.endpoint" value="https://login.salesforce.com"/> <entry key="sfdc.username" value="SF_USERNAME"/> <!-- password specified below is invalid, please generate one using the encrypt.bat utility --> <entry key="sfdc.password" value="ENCRYPTED PASSWORD"/> <entry key="process.encryptionKeyFile" value="C:\salesforcedataloader\key\sample.key"/> <entry key="sfdc.timeoutSecs" value="600"/> <entry key="sfdc.loadBatchSize" value="200"/> <entry key="sfdc.entity" value="Contact"/> <entry key="sfdc.extractionRequestSize" value="500"/> <entry key="sfdc.extractionSOQL" value="Select Id, LastName, MobilePhone, Policy_No__c FROM Contact"/> <entry key="process.operation" value="extract"/> <entry key="process.mappingFile" value="C:\salesforcedataloader\map\contactToDBMap.sdl"/> <entry key="dataAccess.type" value="databaseWrite"/> <entry key="dataAccess.name" value="insertAccount"/> </map> </property> </bean>
This is my database-conf.xml:
<bean id="insertAccount" class="com.salesforce.dataloader.dao.database.DatabaseConfig" singleton="true"> <property name="sqlConfig" ref="insertAccountSql"/> <property name="dataSource" ref="dbSQLDataSource"/> </bean> <bean id="dbSQLDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <property name="url" value="jdbc:sqlserver://gsc_db01:1433;databaseName=SF_DB"/> <property name="username" value="sa"/> <property name="password" value="sa"/> </bean> <bean id="insertAccountSql" class="com.salesforce.dataloader.dao.database.SqlConfig" singleton="true"> <property name="sqlString"> <value> INSERT INTO dbo.sf_table ( SF_ID, LNAME, MOBILE, POLICY_NO ) VALUES (@Id@, @LastName@, @MobilePhone@, @Policy_No__c@) </value> </property> <property name="sqlParams"> <map> <entry key="SF_ID" value="java.lang.String"/> <entry key="LNAME" value="java.lang.String"/> <entry key="MOBILE" value="java.lang.String"/> <entry key="POLICY_NO" value="java.lang.String"/> </map> </property> </bean>
This is the error message i get:
2013-10-07 17:23:13,485 ERROR [databaseContactExtractProcess] database.DatabaseWriter writeRowList (DatabaseWriter.java:166) - Database error encountered while preparing row #1 for writing row #1 through row #32. Database configuration: insertAccount. Error: . java.lang.NullPointerException at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.salesforce.dataloader.dao.database.DatabaseContext.getSqlType(DatabaseContext.java:207) at com.salesforce.dataloader.dao.database.DatabaseContext.setSqlParamValues(DatabaseContext.java:190) at com.salesforce.dataloader.dao.database.DatabaseWriter.writeRowList(DatabaseWriter.java:145) at com.salesforce.dataloader.action.visitor.AbstractQueryVisitor.writeBatch(AbstractQueryVisitor.java:130) at com.salesforce.dataloader.action.visitor.AbstractQueryVisitor.flushResults(AbstractQueryVisitor.java:123) at com.salesforce.dataloader.action.visitor.AbstractQueryVisitor.visit(AbstractQueryVisitor.java:84) at com.salesforce.dataloader.action.AbstractExtractAction.visit(AbstractExtractAction.java:57) at com.salesforce.dataloader.action.AbstractAction.execute(AbstractAction.java:129) at com.salesforce.dataloader.controller.Controller.executeAction(Controller.java:121) at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:149) at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:100) at com.salesforce.dataloader.process.ProcessRunner.main(ProcessRunner.java:253) 2013-10-07 17:23:13,506 INFO [databaseContactExtractProcess] progress.NihilistP rogressAdapter doneSuccess (NihilistProgressAdapter.java:63) - The operation has fully completed. There were 0 successful extractions and 31 errors.
Anything that i miss out?
My bad. I got it fixed. i changed my database-conf.xml to
All Answers
My bad. I got it fixed. i changed my database-conf.xml to