Need to Update salesforce system with external SQL server database on daily basis

Hi All,
I need to find out a solution to update salesforce system with external SQL server database on dialy basis. I want this to be implement from salesforce system rather than from SQL server system.
we need to update contact records.

Could any help me out how can i do this using some sort of Apex coding.

Thanks in advance.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

SivaKumarArepoguAuthor Commented:
Could any one suggest a solution for my problem.

a product called dbamp. You can write standard SQL queries to a SQL linked server that this product installs and directly access to query insert, update and delete to tables in your Salesforce org. That is truly the easiest way and you'll be done in a day. I use it all the time and schedule jobs to manage data. If you want to go the "integration as a service" route, check out

To do it with APEX code, there would have to be a web service deployed on your end that exposes methods to get to your database and data on your SQL server, then write the code from APEX classes that calls the webservice.

Possibly easier would be to write a program in .NET of some sort that is scheduled to run in your environment and uses the Salesforce API. You can find some sample SOAP message calls here:
where you first establish a session (login) where you are returned a key and use that throughout the rest of your calls. I use what is called the Partner WSDL so you can easily switch your code to use in multiple Salesforce organizations.
SivaKumarArepoguAuthor Commented:
Thanks pauldesatadvologixdotcom:,
could you please also suggest one best way to accomplish my task in three you have proposed. I need to update nearly 43k records on a dialy basis. I think it will be a performance issue to go with webservice meothod. Could you please tell me more about the dbamp.

Thanks in Advance.
dbamp is an installable program on your SQL Server. It installs a SQL Server Linked Server providor. Then you just add a linked server to SQL, select the dbAmp providor, enter your authentication settings to Salesforce and you will be connected to your Salesforce org directly from the SQL Server. From there, it is as easy as writing update queries or using dbAmp provided stored procedures that are specifically writtent to help you do Bulk Updates.

Then, it's as simple as running a SQL command
Update SALESFORCE...Account
Set OwnerId = local.OwnerId
From SALESFORCE...Account
Join Account as local on local.Id = Salesforce...Account.Id
Where local.LastModifiedDate > Salesforce...Account.LastModifiedDate

OR as I said it can be accomplished using the stored procedures dbAmp provides you. If your tables are coordinated correctly the command could be as simple as:

exec dbo.BULKOPS 'SALESFORCE','Account'

You can see the dbAmp Help documentation here:

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
SivaKumarArepoguAuthor Commented:
Thank u.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Enterprise Software

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.