Quick Tip: BDC ADF Version Numbers Are Your Friend

If you’re hand-coding ADF files and doing a lot of code/import/test cycles, use the version number to make your life easier. 

I hate to admit it, but until this week, I was always deleting the ADF and re-importing it.  This would break my business data columns and make me re-wire them.  All unnecessary.

File this under "it’s obvious once you see it".


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Type="WebService" Version="" Name="xyzzyDocumentReview" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

Change that version and re-import and the existing business data column uses the updated version automatically with no additional configuration required.


 Subscribe to my blog.

Technorati Tags:

One thought on “Quick Tip: BDC ADF Version Numbers Are Your Friend

  1. No name

    Paul, to that point. I am getting the following error with an ADF I’m trying to import into MOSS 2007 Enterprise:
    "Application definition import failed. The following error occurred: Setting IsCollection on TypeDescriptor with Name ‘ProductDataRecord’ and Id ‘<unavailable>’ (belonging to Parameter with Name ‘Contacts’ and Id ‘110’) will create two consecutive parent-child TypeDescriptors that have ‘IsCollection’ set. Collection TypeDescriptors may only have a single child TypeDescriptor, representing the structure of each element of the collection. Parameter name: isCollection Error was encountered at or just before Line: ’88’ and Position: ’16’. " Here is the stanza from my xml it is complaining about:

    <Parameter Direction="Return" Name="Contacts">
    <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductDataReader">
    <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductDataRecord">
    <TypeDescriptor TypeName="System.Int32" IdentifierName="tp_ID" Name="tp_ID">
    <LocalizedDisplayName LCID="1033">tp_ID</LocalizedDisplayName>
    <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>

    I’m closing my TypeDescriptors towards the end of the file. I sure hope you or someone out there has some idea what’s going on here? I’m toast on this one. Any help or point in the right direction would be greatly appreciated.



Leave a Reply

Your email address will not be published. Required fields are marked *