5 steps to get your LOB data into #SharePoint 2007 using BDC

BDC (Business Data Catalog) is the service that let you use external line-of-business data into your SharePoint environment. The following example describes the steps to get the data in you system (SharePoint 2007 – MOSS).

The source of my data is a SQL Server 2005 database that contains a list of projects. In my SharePoint environment I have a list of contacts and I want to link each contact to a project from that external database. This example uses a database as source but BDC let you also use other kinds of data sources (web services for example).

STEP 1: query your data

In this example it is pretty easy, the data is stored into a single table. Often the data is spread into 2 or more tables (relational database). I always try to create a view to visualize my data.  Although it is possible to link BDC object this approach is easy.

STEP 2: Create your application definition file

The application definition file is an XML file. You could use notepad to create this but I would not recommend that. There are a few excellent tools out there to do this smoothly: The Microsoft Application Definition Editor (SharePoint 2007 SDK), BDC Meta Man or MOSS BDC Studio. I use the last one. It is cheap and easy. Just drag n drop the view in the editor and create the xml file.

STEP 3: Import the application definition file into your SharePoint environment

Open you CAS (central administration server) to import the xml file. You can add your file here: http://SERVERNAME/ssp/admin/_layouts/BDCAdminUI/AddBDCApplication.aspx

STEP 4: enable the Office SharePoint Server Enterprise feature

I did not mention it but you can only use BDC in MOSS (not WSS). You have to enable the Office SharePoint Server Enterprise feature for the site: http://SERVER/site/_layouts/ManageFeatures.aspx

image

STEP 5: add the BDC column to a list

Add a new column to your list. The column type is Business Data.

image 

You can also select the additional fields you want to add to the list, in my example I added some extra data:

image image

(dutch screenshots)