Business Data Catalog tips, hints and errors

Tue, Jul 14, 2009 2-minute read

A few tips/hints from my experience in working with the Business Data Catalog Definition Editor to create line of business (LOB) application definition files for use in Sharepoint MOSS 2007.

  1. Create a _SpecificFinder method - b_y default, BDC DE doesn’t create a SpecificFinder method. You’ll need one for use in Sharepoint. More here.
  2. Wildcard search - When creating a Finder method (for use with e.g., a Wildcard search) make sure the wildcard character is defined - which is done in the very topmost node of the tree (i.e, the LOB node.) Without it you might find the query runs, you just get no results. Where you’re using SQL Server, the Wildcard character by default is %.
  3. Multiple Finder methods - You can create multiple filters on a single finder method, just make sure you specify default values and update your e.g., SQL select statement so instead of e.g., where name like @name you change it to where name like @name and date_create > @date_create_gt… etc.
  4. “Provided stream is invalid” - If you get this error “The provided stream is invalid (not of type IDataReader, IEnumerable or IEnumerator). Parameter name: rawAdapterEntityInstanceStream” first thing to check is that your return parameter is the last one physically specified in your file.. i.e., you can have multiple in parameters, but the return parameter has to be last in the list. The way to fix this is export your application definition file (to XML), then manually adjust the order of the parameters, then reimport to BDC DE.
    4a. Note: If you make manual changes to your ADF file and want to reimport to BDC DE, you have to delete the original definition from BDC DE first.

For reference, there’s a really good series of articles on basic BDC stuff, right about here.