SharePoint – Business Data Related List not working

5 pts.
Tags:
AdventureWorksLT
SharePoint 2007
SharePoint 2007 Business Data Related List
Hi SharePoint gurus! I created an Application Definition file to display customer and order data from the AdventureWorksLT2008 database via Business Data web parts. I successfully displayed a customer list with a Business Data List web part and can display an individual customer selected from this list with a Business Data Item web part. I am unable to create an association between the Customer and Order entities and display an associated order for the selected customer with a Business Data Related List web part. I have scoured the web and am unable to find my problem. My code matches several posts that seem to work. The application log states... "Could not find fields to insert all the Identifier Values to correctly execute an Association with Name 'CustomerToOrder'. Ensure input Parameters have TypeDescriptors associated with every Identifier defined for all the Source Entities in this Association." Here is my application definition file. Any help would be greatly appreciated! THANKS!!!! <?xml version="1.0" encoding="utf-8" standalone="yes"?> <LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Type="Database" Version="1.0.0.01" Name="CRM" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog"> <Properties> <Property Name="WildcardCharacter" Type="System.String">%</Property> </Properties> <LobSystemInstances> <LobSystemInstance Name="CRMDB"> <Properties> <Property Name="AuthenticationMode" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode">PassThrough</Property> <Property Name="DatabaseAccessProvider" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider">SqlServer</Property> <Property Name="RdbConnection Data Source" Type="System.String">MOSSVM</Property> <Property Name="RdbConnection Initial Catalog" Type="System.String">AdventureWorksLT2008</Property> <Property Name="RdbConnection Integrated Security" Type="System.String">SSPI</Property> </Properties> </LobSystemInstance> </LobSystemInstances> <Entities> <Entity EstimatedInstanceCount="10000" Name="Customer"> <Properties> <Property Name="Title" Type="System.String">Name</Property> </Properties> <Identifiers> <Identifier TypeName="System.String" Name="FirstName" /> <Identifier TypeName="System.String" Name="CustomerID" /> </Identifiers> <Methods> <Method Name="GetCustomers"> <Properties> <Property Name="RdbCommandText" Type="System.String"> SELECT CustomerID, LastName + ', ' + FirstName as Name, FirstName, Phone, EmailAddress FROM SalesLT.Customer WHERE (FirstName like @FirstName) and (CustomerID like @CustomerID) </Property> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property> </Properties> <FilterDescriptors> <FilterDescriptor Type="Wildcard" Name="FirstName"> <Properties> <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property> </Properties> </FilterDescriptor> <FilterDescriptor Type="Wildcard" Name="CustomerID"> <Properties> <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property> </Properties> </FilterDescriptor> </FilterDescriptors> <Parameters> <Parameter Direction="In" Name="@FirstName"> <TypeDescriptor TypeName="System.String" IdentifierName="FirstName" AssociatedFilter="FirstName" Name="FirstName"> <DefaultValues> <DefaultValue MethodInstanceName="CustomerFinderInstance" Type="System.String">%</DefaultValue> <DefaultValue MethodInstanceName="CustomerSpecificFinderInstance" Type="System.String">%</DefaultValue> </DefaultValues> </TypeDescriptor> </Parameter> <Parameter Direction="In" Name="@CustomerID"> <TypeDescriptor TypeName="System.String" IdentifierName="CustomerID" AssociatedFilter="CustomerID" Name="CustomerID"> <DefaultValues> <DefaultValue MethodInstanceName="CustomerFinderInstance" Type="System.String">%</DefaultValue> <DefaultValue MethodInstanceName="CustomerSpecificFinderInstance" Type="System.String">%</DefaultValue> </DefaultValues> </TypeDescriptor> </Parameter> <Parameter Direction="Return" Name="Customers"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="CustomerDataReader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="CustomerDataRecord"> <TypeDescriptors> <TypeDescriptor TypeName="System.String" IdentifierName="CustomerID" Name="CustomerID" /> <TypeDescriptor TypeName="System.String" Name="Name" /> <TypeDescriptor TypeName="System.String" IdentifierName="FirstName" Name="FirstName" /> <TypeDescriptor TypeName="System.String" Name="Phone" /> <TypeDescriptor TypeName="System.String" Name="EmailAddress"> <LocalizedDisplayNames> <LocalizedDisplayName LCID="1033"> Email Address </LocalizedDisplayName> </LocalizedDisplayNames> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="Finder" ReturnParameterName="Customers" ReturnTypeDescriptorName="CustomerDataReader" ReturnTypeDescriptorLevel="0" Name="CustomerFinderInstance" /> <MethodInstance Type="SpecificFinder" ReturnParameterName="Customers" ReturnTypeDescriptorName="CustomerDataReader" ReturnTypeDescriptorLevel="0" Name="CustomerSpecificFinderInstance" /> </MethodInstances> </Method> </Methods> <Actions> <Action Name="Live it!" Position="1" IsOpenedInNewWindow="true" Url="http://search.live.com/results.aspx?q={0}" ImageUrl=""> <ActionParameters> <ActionParameter Name="Name" Index="0" /> </ActionParameters> </Action> </Actions> </Entity> <Entity EstimatedInstanceCount="20" Name="SalesOrder"> <Properties> <Property Name="Title" Type="System.String">SalesOrder</Property> </Properties> <Identifiers> <Identifier Name="SalesOrderID" TypeName="System.String"/> </Identifiers> <Methods> <Method Name="GetOrdersForCustomer"> <Properties> <Property Name="RdbCommandText" Type="System.String">Select SalesOrderID, ShipMethod From SalesLT.SalesOrderHeader Where CustomerID=@CustomerID</Property> <Property Name="RdbCommandType" Type="System.String">Text</Property> </Properties> <Parameters> <Parameter Direction="In" Name="@CustomerID"> <TypeDescriptor TypeName="System.String" IdentifierEntityName="Customer" IdentifierName="CustomerID" Name="CustomerID"/> </Parameter> <Parameter Direction="Return" Name="Orders"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="SalesOrderDataReader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="SalesOrderDataRecord"> <TypeDescriptors> <TypeDescriptor TypeName="System.String" IdentifierName="SalesOrderID" Name="SalesOrderID"> <LocalizedDisplayNames> <LocalizedDisplayName LCID="1033">OrderID</LocalizedDisplayName> </LocalizedDisplayNames> </TypeDescriptor> <TypeDescriptor TypeName="System.String" Name="ShipMethod"> <LocalizedDisplayNames> <LocalizedDisplayName LCID="1033">Ship Method</LocalizedDisplayName> </LocalizedDisplayNames> <Properties> <Property Name="DisplayByDefault" Type="System.Boolean">true</Property> </Properties> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> </Method> </Methods> </Entity> </Entities> <Associations> <Association AssociationMethodEntityName="SalesOrder" AssociationMethodName="GetOrdersForCustomer" AssociationMethodReturnParameterName="Orders" Name="CustomerToOrder" IsCached="true"> <SourceEntity Name="Customer" /> <DestinationEntity Name="SalesOrder" /> </Association> </Associations> </LobSystem>

Answer Wiki

Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Discuss This Question:  

 
There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

To follow this tag...

There was an error processing your information. Please try again later.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Thanks! We'll email you when relevant content is added and updated.

Following