+ Start a Discussion
Dave ForgianniDave Forgianni 

Can we access external MS SQL data via salesforce/appExchange?

Hi,

Just learning about what is possible with salesforce.com and had an initial question. Can we access and display (and subsequently choose via button to import the data into, e.g., salesforce contacts/leads) external MS SQL data via the salesforce UI, or via a custom "AppXchange" program?  Or would we need to replicate the existing MS SQL data in a Salesforce DB and access it that way? Thanks in advance and please let me know if unclear/need more info.

Dave
Best Answer chosen by Admin (Salesforce Developers) 
bplasterbplaster

So I think that the main thing to consider is "how" you want the users to be able to access the data from Salesforce. 

 

If they are looking to push a button from the screen, to "Submit an Order" or "Sync an Account" the webservice at your site makes great sense.   So here you would publically expose an "Action" query to your database with a web service, and then write APEX code behind your button to call the web service to submit that order or get additional data and show it on the screen. 

 

For a transparent approach, you might be looking to "Synchronize" the data between your SQL DB and different objects in SFDC, either one-way or bi-directional.  For this you should consider using one of the tools on appExchange or SFDC Data loader to accomplish this and schedule it to run every day.   Some are FREE with reduced functionality which would probably meet your needs.

 

http://www.salesforce.com/appexchange/category_list.jsp?NavCode__c=a0130000006P6IoAAK-9

 

Here you can keep SFDC objects and relationships (Account/Contacts, Accounts/Oppty, etc) in sync with your SQL Server data without writing any code or deploying a public web service. 

 

 

Bryan Plaster

bplaster@informatica.com

www.informaticaondemand.com

 

All Answers

rawiswarrawiswar
Dave,
From what I have found so far,
-- you cannot directly access an external database (if you are looking for something like JDBC) ... there are no methods to do that. BUT, you can have access through a web service. All recommendations so far have been to use a web service.

-- in case replication (and independent) data is fine (or you don't need the 2 databases to be in sync), you can use 'data loader' tool and transfer data between an external DB and SF.

-- as for a custom appExchange app, I have heard that a few are available (not sure of the exact functionality or cost).


Dave ForgianniDave Forgianni
Hi,

Thanks very much for your quick response!  After a little more research on the developer site I also have come to the conclusion that accessing an external web service ought to do the trick for our purposes.  Thanks too for the heads up on the available data loader and appXchange tools!

Dave
rawiswarrawiswar
i am new myself and having friends can kind of sort things out.
bplasterbplaster

So I think that the main thing to consider is "how" you want the users to be able to access the data from Salesforce. 

 

If they are looking to push a button from the screen, to "Submit an Order" or "Sync an Account" the webservice at your site makes great sense.   So here you would publically expose an "Action" query to your database with a web service, and then write APEX code behind your button to call the web service to submit that order or get additional data and show it on the screen. 

 

For a transparent approach, you might be looking to "Synchronize" the data between your SQL DB and different objects in SFDC, either one-way or bi-directional.  For this you should consider using one of the tools on appExchange or SFDC Data loader to accomplish this and schedule it to run every day.   Some are FREE with reduced functionality which would probably meet your needs.

 

http://www.salesforce.com/appexchange/category_list.jsp?NavCode__c=a0130000006P6IoAAK-9

 

Here you can keep SFDC objects and relationships (Account/Contacts, Accounts/Oppty, etc) in sync with your SQL Server data without writing any code or deploying a public web service. 

 

 

Bryan Plaster

bplaster@informatica.com

www.informaticaondemand.com

 

This was selected as the best answer