What is the Business Data Catalogue?

….. In short, the Business Data Catalogue (BDC) is without doubt the most powerful feature in MOSS 2007! (In my opinion)….. I know this is a rather bold statement and hopefully this article will go some way to convincing you of the same!

So what does BDC actually do?

The BDC is a feature of MOSS that allows you to connect your business data systems to MOSS and use data from those systems in one of 4 main presentation methods. When I say ‘Business Data System’ what I’m referring to there is basically anything you can get to via ADO.net (SQL, Oracle, ODBC, and OLEDB) or web services. Throughout this article, we’ll use the Adventure Works sample database in SQL 2005 as our ‘Business Data System’.

BDC Webparts

The easiest presentation method to understand is the BDC webparts. There are several webparts provided out-of-the-box with MOSS which work together to provide various views on your BDC data.

The first one is the BDC List webpart. This webpart will simply display your data in a list form with all of the filtering and sorting capabilities that you’d expect in a list view webpart. It even has a built-in search interface which allows users to perform mini searches on the contents of the list. The scenario here is that you may have a list of ‘resellers’, including some of the key information that you might have about those resellers such as geography, address phone etc.

The BDC List is nicely complimented by the BDC List Item webpart which, when connected (using standard MOSS webpart connections) to the BDC List will display further details for the item that is selected. The idea is that you click a ‘reseller’ out of the BDC List of resellers and the BDC List Item webpart displays that reseller’s full profile.


Other webparts include related list, which is useful for showing sub-lists of information. In the Adventure Works system, this can be used by having a BDC List displaying all of the product categories and the BDC Related List showing the sub-categories of the category that is selected in the BDC List webpart. Again, this works via webpart connections.

BDC Search

BDC applications can be ‘indexed’ by the standard MOSS index service. This means that users can search across the business systems amongst all of the other data in the MOSS index. Results are presented in the same way as other documents and when the users click on a result, them get sent to an out-of-the-box ASPX page that shows all of the data that is available for that item. The BDC applications are treated as normal content sources and can be managed in exactly the same way (schedules, scopes etc).

This feature is great for integrating CRM systems into SharePoint and allowing users to search across customers and partners and get phone numbers etc. This also has applications if you have products in your BDC system; users could search for the product name and return things like financial data from the BDC system amongst document-based results from elsewhere in MOSS.

BDC Columns

One of the new column types in MOSS is ‘Business Data’. If you select a business data column, users will be able to choose an entity from the BDC to store as the value of a column (metadata).

Once chosen, the column will then pull other fields that are related to the chosen BDC entity and display them in your document library or list as normal (read-only) columns. For example, if you have a document that you are writing for a customer, you might select the customer name for the business data column and the system will then display the phone number, address, website, key contact etc for that customer as part of the document metadata.


Having these details displayed in your list views and webparts is great, but like all columns, this data also gets stored in the document itself and if you have Office 2007 professional, you can edit and view this data directly from within office.

BDC Profiles

Like BDC columns, you can also create ‘business data’ properties in the MOSS user profile database. This means that the user profile can now be a mixture of MOSS-based, Active Directory and business data information.

The scenario here is that you might hook the BDC up to your HR system and have key fields from the HR system imported into the BDC and displayed as part of the standard user profile. This solves the “where do I store my personnel data” problem that many organisations face; it does not matter where the data is stored … simply have BDC pull it in from whatever systems it is in today.

What can I do with my data once I have it in MOSS?

All of the things I have discussed so far have been about reading the data from your business system and displaying it in various formats. You can also perform actions on this data and use bits of the data as parameters to a URL.

One scenario where Actions are used is performing internet searches on customers or resellers from your BDC system. If users clicked on the ‘internet search’ action, the system would pass the reseller name into the URL of an internet search engine such as Windows Live Search.


This works by admins configuring markers in the URL that are replaced by BDC properties, for example if you did want to perform an internet search, you’d configure an action that used this URL http://beta.search.live.com/results.aspx?q={0} where {0} is replaced by the ‘reseller name’ of the BDC entity that is action is based on. This works with any URL, for example if (for some weird reason), Windows Live is not your favoured search engine, you could use Google as follows: http://www.google.co.uk/search?q={0}

The same principle can also be applied to passing an address into Windows Live Local and displaying a map of your customer’s office. For this, you would use this URL http://local.live.com/default.aspx?where1={0}%20{1}&v=2 where {0} is the postal code and {1} is the country name of your customer.

How do I get started?

By far the easiest and most compelling way to get started with BDC is to install the SQL 2005 Adventure Works sample database, to do this you will need:

  • MOSS Beta2 TR Enterprise Edition (BDC is an enterprise edition only feature) installed

  • SQL 2005 installed with the Adventure Works DW database which you can get from Control Panel > Add/Remove Programs > Change SQL 2005 > Workstation Components > Sample Databases

  • The Adventure Works BDC application definition which is available here: http://msdn2.microsoft.com/en-us/library/ms494876.aspx

Simply import the BDC application definition file (via Shared Services Admin interface) and away you go!

How do I use BDC anywhere other than demo-land?

If you want to use BDC with your own applications and systems (which hopefully, you will! J), you’ll need to write an application definition file. This is basically a big XML file which sets out the metadata of the system you are connecting to. You can write it from scratch using the excellent SDK examples which are here http://msdn2.microsoft.com/en-us/library/ms563661.aspx.

There are also two great tools for helping you created your own definition files:

So is BDC the “most powerful feature in MOSS 2007”?

I think it is because when you sit back and think about all those webparts and custom applications we used to write for Sharepoint 2003, I’d say that BDC removes the need to write custom code (C#, VB etc) to achieve the same results in MOSS for most cases. In many cases, you get a much better result with features that would have taken eternity to try and code yourself (search, profiles etc). Added to that, we get all of the ‘plumbing’ work like security, performance, deployment etc managed for us.

On this basis, I think BDC will significantly reduce the custom code footprint on most MOSS deployments. Reducing the custom code footprint is one of the best ways of improving stability, performance and overall TCO for a MOSS deployment, which is why I feel BDC is the “most powerful feature in MOSS 2007” …. Discuss J

Comments (32)

  1. Martin has posted a great overview of the new Business Data Catalog feature in SharePoint 2007. What

  2. Martin P says:

    You are so right!!

  3. Brant says:

    Do you know how to setup a BDC instance and specify the database connection parameters?  I think I need SSO (but I hope not) service to do this.

  4. The connection parameters are one of the things that are defined as part of the Application Definition file. If you look at the SQL 2005 Adventre Works example you’ll see the section for adding connection parameters.

    There are two options around security. You can either have MOSS access the backend system using a single service account or you can use MOSS’s SSO system for indivual permissions. The SDK has great examples of this (http://msdn2.microsoft.com/en-us/library/ms563661.aspx)

  5. Brant says:

    So there is no way to specify a SQL Server userid / password directly?

  6. Yes, you absolutely can use a SQL username and password. This is specified as part of the application definition file (The LOBSystemInstance object). You can see more here: http://msdn2.microsoft.com/en-us/library/ms550725.aspx

  7. Martin Kearn who is one of the guru Microsoft Consulting Services in the UK team has written a really

  8. Brant says:

    Sorry to be a pest but I can’t seem to get this working. Here is the error I get:

    A Metadata Exception was constructed in App Domain ‘/LM/W3SVC/1739994257/Root-1-128046305479230304’. The full exception text is: The LobSystemInstance Property ‘AuthenticationMode’ has a value that requires ‘Integrated Security’ in the connection string

    Here is how I have defined my LOBSystemInstance

    PassThrough SqlServer dbserver ACMEDB YYY XXX

    I tried using both Credentials and PassThrough and neither seem to work.

  9. I’m digging into this SQL security thing a little more. The authentication mode part of the AppDef file has four different options, they are outlined here (http://msdn2.microsoft.com/en-us/library/microsoft.office.server.applicationregistry.systemspecific.db.dbauthenticationmode.aspx). From my understanding of this article (http://msdn2.microsoft.com/en-us/library/ms566523.aspx) it seems that there should be a DatabaseCredentials option but that does not seem to marry up with the other article. I’ll do some digging internally and post back here when I get an answer. In the short term, I suggest that you just Windows Authentication as that is the ‘recomended’ approach anyway, but I will try and find out about SQL authentication.

  10. Brant says:

    Maybe its been depreciated; here is the error I get when using DatabaseCredentials

    Application definition import failed. The following error occurred: The metadata object with Name ‘ACME’ and of Type ‘LobSystemInstance’ has a Property with Name ‘AuthenticationMode’ that has either an invalid value or Type. Error was encountered at or just before Line: ‘7’ and Position: ’10’.

  11. Curious says:

    Could anybody give me some additional information regarding LoBI in connection with the BDC? As I figured out BDC is read only while LoBI is transactional … a more detailed description would be great!

  12. LoBI is a little way off yet (not on the same release path as Office & MOSS), but the best information is as follows:

    Press Release: http://www.microsoft.com/presspass/press/2006/jun06/06-12OBAPR.mspx

    Office Business Applications Developer Portal: http://msdn.microsoft.com/office/tool/OBA/default.aspx

  13. Curious says:

    Thnx a lot for the links.

    After watching the LoBI webcast and reading the additional information about the BDC there was just one question which came up, maybe u can help as well 😉

    I spent some time looking at Duet the joint product between MS and SAP. When I look at the BDC with all its possibilities and LoBI as a future product … then companies would be able to buy a very affordable product compared to the expensive Duet with similiar functions as Duet, am I wright? You would just have to pay the ISV’s or even your own staff could configure the BDC in the necessary way is it? Can I at all compare Duet with the BDC (LoBI)?

  14. Don Shults says:

    Thanks Martin… This info is a great help..

    Don Shults

  15. cidracula says:

    help me, please. Error occurred when I import file XML to BDC:

    "Application definition import failed. The following error occurred: The system Property named ‘Version’ of Type ‘System.String’ is present on the LobSystem but has an invalid format. Error was encountered at or just before Line: ‘2’ and Position: ‘2’.  "

    send mail for me: cidracula@yahoo.com

  16. Nice post.  I’ve been looking for something that takes this at a high level to point out to customers.

  17. Josh meyer says:

    Is there a way to specify the port to use when connecting to Oracle from the BDC?  Our Oracle db doesn’t use the standard 1521 port, and i can’t seem to get the BDC to connect to it.

  18. antoinks says:

    Do you know how to add user profile properties imported from BDC?

  19. Paras says:

    could you modify the data using the business data catalouge?? how do you connect to the sql server tables??

  20. ccalcut says:

    Is there a way to retrieve data with the list web part that pulls the information from all the columns in the list, not whatever filter is chosen?

  21. Did you find out anything more about a possible DatabaseCredentials option for the AuthenticationMode? It would be really useful in testing the BDC if I could connect to my existing databases using existing SQL Sever username password pairs. I have noticed a few other people having difficulties with this but no solutions posted

  22. Sezai's Blog says:

    It’s demo time! MOSS is still fairly new, and seeing as we are starting to flog it I have been…

  23. deeptyranjan says:

    A brand new feature of Microsoft Office SharePoint Server 2007 (MOSS 2007) is the Business Data Catalog. This new component allows line of business data to be integrated with within your SharePoint environment with Business Data Webparts, SharePoint Lists, Search, User Profile Importer, and Custom Solutions. Previously in SharePoint 2003 to get this external data to display in your portal often required the development of custom webparts which could have entailed months of development and testing. The Business Data Catalog offers an easy, no code way of integrating your backend data into MOSS 2007.

  24. deeptyranjan says:

    Business Data Web Parts

    MOSS 2007 ships with 4 new web parts which are used in conjunction with data imported via the Business Data Catalog to provide a way to display your data in your portal. The four web parts available are:

    Business Data List Web Part

    Business Data Items Web Part

    Business Data Related List Web Part

    Business Data Actions Web Part

  25. Padmaja says:

    "Application definition import failed. The following error occurred: The system Property named ‘Version’ of Type ‘System.String’ is present on the LobSystem but has an invalid format. Error was encountered at or just before Line: ‘2’ and Position: ‘2’.  "

    Does anybody can help out resolving this problem?

  26. Thomas says:

    I cant find a way to ad a bdc bound column to a contenttype. Your example describes only how to add a bdc column to a document library.

  27. Continuing my series of blogcast demos, this week I am talking about business intelligence , showing

  28. Siguiendo con la recopilación periódica de recursos sobre WSS 3.0 & MOSS, esta semana en el número

  29. Business Data Catalogue (BDC) is one of the very exciting features of SharePoint. It got introduced in

  30. Business Data Catalogue (BDC) is one of the very exciting features of SharePoint. It got introduced in

  31. Business Data Catalogue (BDC) is one of the very exciting features of SharePoint. It got introduced in