Wednesday, October 29, 2014

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:




Input the site URL which we need to open:  




Enter your site credentials here:                                      
                                        


 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: 


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






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.



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




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


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

 Click on the next button:


Parameters Configurations:
  Options for Filter parameters Configuration:

 
click on finish.

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



 Select the Site here and click ok button: 


 Enter the list name here and click ok button: 



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



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


Solution for this Error
SharePoint central admin, click on the Manage service application: 


 Click on the Business Data Connectivity Service: 



 Set the permission for this list: 

Click ok after setting the permissions:

 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’. 

                                    

After selecting the "BDC Identity" and then click on OK . if it is not saved then use bellow power shell command then update again "BDC Identity" 


Then follow the below mentioned steps. 
Open PowerShell and type the following lines: 

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



Now it's working fine.

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.

No comments:

Post a Comment