Connectivity Using Business Connectivity Services

Applies to: SharePoint Server 2010

Microsoft Business Connectivity Services (BCS) enables you to bring external data from various kinds of external systems into SharePoint 2010 and Microsoft Office 2010 applications. These external systems include the following:

  • Databases

  • Windows Communication Foundation (WCF) or Web services

  • .NET connectivity assemblies

  • Custom data sources

Discover and Use

To simplify connecting to these complex data sources, Business Connectivity Services enables you to point to your external system and discover and use it in your solution. You can discover and use the following kinds of data sources in your solutions:

  • Databases (ADO)

  • Existing WCF/Web services

  • Existing .NET connectivity assemblies


Microsoft SharePoint Designer 2010 supports only Microsoft SQL Server databases, Web and WCF services, and .NET connectivity assemblies. For other kinds of external systems, you must edit the model XML file in Microsoft Visual Studio 2010 or by using an XML editor. For Oracle, SAP and Siebel, SharePoint 2010 provides WCF adapters.

Create and Publish

If the external system is not supported by Business Connectivity Services, you can create an interface to your external system by writing code. If the entity model is static and has a limited number of known types, then you can write WCF or Web services or .NET connectivity assemblies to interface with your external system. If you decide to write WCF or Web services for your external system, Business Connectivity Services will not host the WCF or Web service. You must host the service. Instead you can create a .NET connectivity assembly with the back-end logic and publish it to the global assembly cache. Business Connectivity Services will load the .NET connectivity assembly by using the .NET Assembly Connector.

However, if the entity model is dynamic, has custom types, and is large scale, you can create a custom connector for that data source type.


You must handle the connection, data transfer, set up, and tools for a custom connector.

See Also


Differences Between Using the .NET Assembly Connector and Writing a Custom Connector