Welcome to All Things Warehouse Builder

OWB Integration with Salesforce.com Data: Sometimes The Old Ways are the Best Ways

Guest Author

A request that we get frequently enough to comment on is, "How do I use OWB to move data between Salesforce.com and my Oracle database?" Data warehouse customers in particular seem to be running into this one.

Usually, the person asking expects that some kind of web service call will be the solution of choice. Perhaps it would be, in some arcane cases. There are also ODBC drivers for Salesforce.com, which OWB could connect to with similar results to other ODBC data sources. (Of course, Oracle support won't help with those third-party components.)

However, bulk data movement is the most common case, and there are tried and true ways of doing that without the latest SOA secret sauce.

The moving parts of the simple-enough solution are:

  • The Salesforce.com "Apex Data Loader" utility can extract the results of one or several queries into CSV flat files, or upload bulk changes to Salesforce.com, and can be run from the command line. You can find more about Apex Data Loader here:



  • The user-defined process activity in OWB process flows lets you call a command-line utility such as the Apex Data Loader. You can read more about the user-defined process activity here:


  • For extraction, you can create a process flow activity that executes the Apex Data Loader to extract data from Salesforce into a flat file, then loads the flat file contents into your target DB. For loading, do the reverse-- extract data from Oracle to flat files, then run Apex Data Loader to upload.

So ultimately this is no different from moving data back and forth using flat files with any other foreign system, something OWB users have no doubt done since time immemorial.

If you apply this technique in a real deployment, let us know and we'll spotlight you here on the blog.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.