Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / productivity / SharePoint / SharePoint2013

Implementing Business Data Connectivity in SharePoint 2013

4.73/5 (7 votes)
17 Nov 2013CPOL3 min read 89.3K   2  
How to implement business data connectivity in SharePoint 2013

Business Data Connectivity

Business Connectivity Services is a centralized infrastructure in SharePoint 2013 and Office 2013 that supports integrated data solutions. With Business Connectivity Services, you can use SharePoint 2013 and Office 2013 clients as interfaces into data that doesn’t live in SharePoint 2013 itself. For example, this external data may be in a database and it is accessed by using the out-of-the-box Business Connectivity Services connector for that database. Business Connectivity Services can also connect to data that is available through a web service, or data that is published as an OData source or many other types of external data. Business Connectivity Services does this through out-of-the box or custom connectors.

External Content Types in BCS

External content types are the core of BCS. They enable you to manage and reuse the metadata and behaviors of a business entity, such as Customer or Order, from a central location. They enable users to interact with that external data and process it in a more meaningful way.

For more information about using external content types in BCS, see External content types in SharePoint 2013.

How to Connect With SQL External Data Source

Open the SharePoint Designer 2013 and click on the open site icon:

Image 1

Input the site URL which we need to open:

Image 2

Enter your site credentials here:

Image 3

Now we need to create the new external content type and here we have the options for changing the name of the content type and creating the connection for external data source:

Image 4

And click on the hyperlink text “Click here to discover the external data source operations, now this window will open:

Image 5

Click on the “Add Connection “button, we can create a new connection. Here we have the different options to select .NET Type, SQL Server, WCF Service.

Image 6

Here we selected SQL server, now we need to provide the Server credentials:

Image 7

Now, we can see all the tables and views from the database.

Image 8

In this screen, we have the options for creating different types of operations against the database:

Image 9

Click on the next button:

Image 10

Parameters Configurations:

Image 11

Options for Filter parameters Configuration:

Image 12

Here we need to add new External List, Click on the “External List”:

Image 13

Select the Site here and click ok button:

Image 14

Enter the list name here and click ok button:

Image 15

After that, refresh the SharePoint site, we can see the external list here and click on the list:

Image 16

Here we have the error message “Access denied by Business Connectivity.”

Solution for this Error

SharePoint central admin, click on the Manage service application:

Image 17

Click on the Business Data Connectivity Service:

Image 18

Set the permission for this list:

Image 19

Click ok after setting the permissions:

Image 20

After that, refresh the site and hope this will work… but again, it has a problem. The error message like Login failed for user “NT AUTHORITY\ANONYMOUS LOGON”.

Solution for this Error

We need to edit the connection properties, the Authentication mode selects the value ‘BDC Identity’.

Image 21

Then follow the below mentioned steps.

Open PowerShell and type the following lines:

$bdc = Get-SPServiceApplication | 
where {$_ -match "Business Data Connectivity Service"}
$bdc.RevertToSelfAllowed = $true
$bdc.Update();

Now it's working fine.

Image 22

And there is a chance for one more error like:

Database Connector has throttled the response.
The response from database contains more than '2000' rows. 
The maximum number of rows that can be read through Database Connector is '2000'. 
The limit can be changed via the 'Set-SPBusinessDataCatalogThrottleConfig' cmdlet 

It's because it depends on the number of recodes that exist in the table.

Solution for this Error

Follow the below steps:

Open PowerShell and type the following lines and execute:

$bcs = Get-SPServiceApplicationProxy | where{$_.GetType().FullName 
-eq (‘Microsoft.SharePoint.BusinessData.SharedService.’ + ‘BdcServiceApplicationProxy’)}
$BCSThrottle = Get-SPBusinessDataCatalogThrottleConfig -Scope database 
-ThrottleType items -ServiceApplicationProxy $bcs
Set-SPBusinessDataCatalogThrottleConfig -Identity $BCSThrottle -Maximum 1000000 -Default 20000

Now it will work fine.

Summary

In this article, I tried to explain how implement the Business Data Connectivity in SharePoint 2013.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)