There are different ways in SharePoint to access external data (i.e. BCS, custom web service, some might even consider creating a custom service application), but is there a recommended way in SharePoint for accessing external data, or is it on a case-to-case basis? Perhaps BCS would be good in a scenario where external data needs to be presented as a SharePoint list, but if you just need a custom web part to retrieve data from a custom DB table, then building a custom web service would suffice? This question is related to this discussion.

Thanks for your time!

  • What SharePoint version are you referring to? Any? 2010/2013?
    – z.rahui
    Jul 22, 2014 at 5:30
  • Yap 2010 or 2013 :)
    – Celbester
    Jul 22, 2014 at 14:36

1 Answer 1


This is my 5 cents worth, other members may have differing opinions:

Usually, I would look at accessing external data on a case by case basis. I don't believe there is a 'recommended' way to cover all scenarios.

Choosing BCS means you get a lot of the functionality of the SharePoint UI (Lists, etc.) for free without having to create all of this. But I believe that the main requirement for choosing BCS over other methods is the ability to include external data in SharePoint Search. I know there are other methods to include data in the Search index (federated search, etc.) but with BCS, this is already included. (with a little bit of work).

There is a lot of work been done in SharePoint 2013 to make Apps work well with external data. This is natural to the framework as the Apps are not hosted within SharePoint so as a developer, you are free to choose your framework of choice (MVC with Entity Framework for example). Plus, SharePoint hosted apps can also access external web services without the barriers of the old Sandbox model.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.