MANMario

Hello,

I start the crawling process, my items are not added to the search engine and I get the following warning for every record in the table:

bdc2://453332c4-a063-4e51-aa30-c7f278a1a83b/547...
The object was not found. (The item was deleted because it was either not found or the crawler was denied access to it.)

In the log files I get the following erros many times:


05/11/2007 16:10:52.10 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 71tl High Opened connection to Db: HFIF_MOSS
05/11/2007 16:10:52.10 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 71oq High Finishing execution with delegated windows identity
05/11/2007 16:10:52.10 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 79cv High Executing MethodInstance 'dbo.[CommLog]SpecificFinder' representing command type 'Text':
05/11/2007 16:10:52.10 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 79cw High Select [FundGUID],[CommunicationTypeID],[CommunicationDatetime],[CategoryID],[Subject],[Important],[Confidential],[miscellaneous],[Conclusion],[InternalParticipants],[ExternalParticipants],[OtherParticipants],[Modified],[ModifiedBy],[Location1ID],[Location2ID],[StrategyInvest],[Risk],[ProductDetails],[Portfolio],[PerfReview],[PeopleOrg],[Operations] From dbo.[CommLog] Where ([FundGUID] = @FundGUID) AND ([CommunicationTypeID] = @CommunicationTypeID) AND ([CommunicationDatetime] = @CommunicationDatetime) AND ([CategoryID] = @CategoryID)
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High An exception was caught in BdcSearchPH interop for GetEntityInstance. This could be a Bdc ObjectNotFound:
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbSystemUtility.SetUpParameters(IDbCommand command, Parameter returnParameter, ParameterCollection parameters, Object[]& parameterValues) at Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbSystemUtility.ExecuteStaticInternal(MethodInstance methodInstance, LobSystemInstance lobSystemInstance, NamedPropertyDictionary lobSystemInstanceProperties, Object[]& args, IDbConnection connection, Boolean connectionExplicitlyManaged) at Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db...
05/11/2007 16:10:52.11* mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High ....DbSystemUtility.ExecuteStatic(MethodInstance methodInstance, LobSystemInstance lobSystemInstance, Object[]& args) at Microsoft.Office.Server.ApplicationRegistry.MetadataModel.DataClass.ExecuteInternal(LobSystemInstance lobSystemInstance, LobSystem lobSystem, MethodInstance methodInstanceToExecute, Method methodToExecute, ParameterCollection inputParameters, Object[]& overrideArgs) at Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.ExecuteInternal(LobSystemInstance lobSystemInstance, LobSystem lobSystem, MethodInstance methodInstanceToExecute, Method methodToExecute, ParameterCollection inputParameters, Object[]& overrideArgs) at Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Object[] subIdentifierValues, LobSystemInstance lobSyst...
05/11/2007 16:10:52.11* mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High ...emInstance) at Microsoft.Office.Server.ApplicationRegistry.Search.SearchStaticHelper.GetEntityInstance(String serializedEntityInstanceId, UInt32 entityId, UInt32 systemInstanceId) at Microsoft.Office.Server.ApplicationRegistry.Search.SearchStaticHelperWrapper.GetEntityInstance(String sspAppId, String serializedEntityInstanceId, UInt32 entityId, UInt32 systemInstanceId) at GetEntityInstance(Char* pcwszAppName, Char*** pppcwszFieldNames, tagPROPVARIANT*** pppPropVariant, UInt32* puiFieldCount, Char* pcwszSerializedEntityInstanceId, UInt32 uiEntityId, UInt32 uiSystemInstanceId)
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High Separate output of exception stack trace:
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High at System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbSystemUtility.SetUpParameters(IDbCommand command, Parameter returnParameter, ParameterCollection parameters, Object[]& parameterValues) at Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbSystemUtility.ExecuteStaticInternal(MethodInstance methodInstance, LobSystemInstance lobSystemInstance, NamedPropertyDictionary lobSystemInstanceProperties, Object[]& args, IDbConnection connection, Boolean connectionExplicitlyManaged) at Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbSystemUtility.ExecuteStatic(MethodInstance methodInstance, LobSystemInstance lobSystemInstance, ...
05/11/2007 16:10:52.11* mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High ...Object[]& args) at Microsoft.Office.Server.ApplicationRegistry.MetadataModel.DataClass.ExecuteInternal(LobSystemInstance lobSystemInstance, LobSystem lobSystem, MethodInstance methodInstanceToExecute, Method methodToExecute, ParameterCollection inputParameters, Object[]& overrideArgs) at Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.ExecuteInternal(LobSystemInstance lobSystemInstance, LobSystem lobSystem, MethodInstance methodInstanceToExecute, Method methodToExecute, ParameterCollection inputParameters, Object[]& overrideArgs) at Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Object[] subIdentifierValues, LobSystemInstance lobSystemInstance) at Microsoft.Office.Server.ApplicationRegistry.Search.SearchStaticHelper.GetEntityI...
05/11/2007 16:10:52.11* mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High ...nstance(String serializedEntityInstanceId, UInt32 entityId, UInt32 systemInstanceId) at Microsoft.Office.Server.ApplicationRegistry.Search.SearchStaticHelperWrapper.GetEntityInstance(String sspAppId, String serializedEntityInstanceId, UInt32 entityId, UInt32 systemInstanceId) at GetEntityInstance(Char* pcwszAppName, Char*** pppcwszFieldNames, tagPROPVARIANT*** pppPropVariant, UInt32* puiFieldCount, Char* pcwszSerializedEntityInstanceId, UInt32 uiEntityId, UInt32 uiSystemInstanceId)
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High CEntityInstanceFilter::Init() Error while getting the EntityInstance itself
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High Error code is:-2147216895
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High CBdcUrlAccessor2::BindToFilter(): could not init Entity Instance Filter
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High Error code is:-2147216895
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 Medium CEntityInstanceFilter::~CEntityInstanceFilter()
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High Error initializing BdcUrlAccessor2
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 High Error code is:-2147216895
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0C14 SharePoint Portal Server Business Data 0 Medium CBdcUrlAccessor2::~CBdcUrlAccessor2
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vw High Instantiating Type 'System.Guid'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vy High Recursively instantiating Type 'System.Guid' at a nest level of '0'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75w0 High Found primitive default value '1d16f69d-1905-420f-8d0b-863ae732e53e'; returning that instead of instantiating at a nest level of '0'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vx High Completely instantiated Type 'System.Guid'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vw High Instantiating Type 'System.Int16'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vy High Recursively instantiating Type 'System.Int16' at a nest level of '0'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75w0 High Found primitive default value '0'; returning that instead of instantiating at a nest level of '0'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vx High Completely instantiated Type 'System.Int16'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vw High Instantiating Type 'System.DateTime'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vy High Recursively instantiating Type 'System.DateTime' at a nest level of '0'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75w0 High Found primitive default value '01.01.1900 00:00:00'; returning that instead of instantiating at a nest level of '0'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vx High Completely instantiated Type 'System.DateTime'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vw High Instantiating Type 'System.Int16'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vy High Recursively instantiating Type 'System.Int16' at a nest level of '0'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75w0 High Found primitive default value '0'; returning that instead of instantiating at a nest level of '0'.
05/11/2007 16:10:52.11 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 75vx High Completely instantiated Type 'System.Int16'.
05/11/2007 16:10:52.14 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 79ct High Chose SqlServer database access provider
05/11/2007 16:10:52.14 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 79cu High Chose PassThrough auth mode
05/11/2007 16:10:52.14 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 71tw High Initialized DbSystemUtility for LobSystemInstance with Id '5473'
05/11/2007 16:10:52.14 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 71tx High Db AuthN Mode: PassThrough
05/11/2007 16:10:52.14 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 71ty High Db Provider: SqlServer
05/11/2007 16:10:52.14 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 71q0 High Checking for current connection to SystemInstance: HFIF_COMMLOG_MOSSInstance
05/11/2007 16:10:52.14 mssdmn.exe (0x0A14) 0x0B74 SharePoint Portal Server Business Data 71op High Delegating current windows identity

The following is my xml file:

The Entity has a more than one primary key(Identifier). Oddly enough entities with only one identofier seem not to have that problem.

Code Snippet

< xml version="1.0" standalone="yes" >

<LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.XSD" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog" Type="Database" Version="1.0.0.0" Name="HFIF_COMMLOG_MOSSLOBSystem">

<Properties>

<Property Name="WildcardCharacter" Type="System.String">%</Property>

</Properties>

<LobSystemInstances>

<LobSystemInstance Name="HFIF_COMMLOG_MOSSInstance">

<Properties>

<Property Name="DatabaseAccessProvider" Type="System.String">SqlServer</Property>

<Property Name="AuthenticationMode" Type="System.String">PassThrough</Property>

<Property Name="RdbConnection Data Source" Type="System.String">XXX</Property>

<Property Name="RdbConnection Initial Catalog" Type="System.String">XXX</Property>

<Property Name="RdbConnection Integrated Security" Type="System.String">SSPI</Property>

<Property Name="RdbConnection Pooling" Type="System.String">false</Property>

</Properties>

</LobSystemInstance>

</LobSystemInstances>

<Entities>

<Entity EstimatedInstanceCount="0" Name="dbo.CommLog">

<Identifiers>

<Identifier Name="[FundGUID]" TypeName="System.Guid"/>

<Identifier Name="[CommunicationTypeID]" TypeName="System.Int16"/>

<Identifier Name="[CommunicationDatetime]" TypeName="System.DateTime"/>

<Identifier Name="[CategoryID]" TypeName="System.Int16"/>

</Identifiers>

<Methods>

<Method Name="Getdbo.[CommLog]">

<Properties>

<Property Name="RdbCommandText" Type="System.String">Select [FundGUID],[CommunicationTypeID],[CommunicationDatetime],[CategoryID],[Subject],[Important],[Confidential],[miscellaneous],[Conclusion],[InternalParticipants],[ExternalParticipants],[OtherParticipants],[Modified],[ModifiedBy],[Location1ID],[Location2ID],[StrategyInvest],[Risk],[ProductDetails],[Portfolio],[PerfReview],[PeopleOrg],[Operations] From dbo.[CommLog] </Property>

<Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property>

</Properties>

<Parameters>

<Parameter Direction="Return" Name="dbo.[CommLog]">

<TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="dbo.[CommLog]DataReader" IsCollection="true">

<TypeDescriptors>

<TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="dbo.[CommLog]DataRecord">

<TypeDescriptors>

<TypeDescriptor TypeName="System.Guid" IdentifierName="[FundGUID]" Name="FundGUID"/>

<TypeDescriptor TypeName="System.Int16" IdentifierName="[CommunicationTypeID]" Name="CommunicationTypeID"/>

<TypeDescriptor TypeName="System.DateTime" IdentifierName="[CommunicationDatetime]" Name="CommunicationDatetime"/>

<TypeDescriptor TypeName="System.Int16" IdentifierName="[CategoryID]" Name="CategoryID"/>

<TypeDescriptor TypeName="System.String" Name="Subject"/>

<TypeDescriptor TypeName="System.Boolean" Name="Important"/>

<TypeDescriptor TypeName="System.Boolean" Name="Confidential"/>

<TypeDescriptor TypeName="System.String" Name="miscellaneous"/>

<TypeDescriptor TypeName="System.String" Name="Conclusion"/>

<TypeDescriptor TypeName="System.String" Name="InternalParticipants"/>

<TypeDescriptor TypeName="System.String" Name="ExternalParticipants"/>

<TypeDescriptor TypeName="System.String" Name="OtherParticipants"/>

<TypeDescriptor TypeName="System.DateTime" Name="Modified"/>

<TypeDescriptor TypeName="System.String" Name="ModifiedBy"/>

<TypeDescriptor TypeName="System.Int16" Name="Location1ID"/>

<TypeDescriptor TypeName="System.Int16" Name="Location2ID"/>

<TypeDescriptor TypeName="System.String" Name="StrategyInvest"/>

<TypeDescriptor TypeName="System.String" Name="Risk"/>

<TypeDescriptor TypeName="System.String" Name="ProductDetails"/>

<TypeDescriptor TypeName="System.String" Name="Portfolio"/>

<TypeDescriptor TypeName="System.String" Name="PerfReview"/>

<TypeDescriptor TypeName="System.String" Name="PeopleOrg"/>

<TypeDescriptor TypeName="System.String" Name="Operations"/>

</TypeDescriptors>

</TypeDescriptor>

</TypeDescriptors>

</TypeDescriptor>

</Parameter>

</Parameters>

<MethodInstances>

<MethodInstance Name="dbo.[CommLog]Finder" Type="Finder" ReturnParameterName="dbo.[CommLog]" ReturnTypeDescriptorName="dbo.[CommLog]DataReader" ReturnTypeDescriptorLevel="0"/>

</MethodInstances>

</Method>

<Method Name="dbo.[CommLog]SpecificFinder">

<Properties>

<Property Name="RdbCommandText" Type="System.String">Select [FundGUID],[CommunicationTypeID],[CommunicationDatetime],[CategoryID],[Subject],[Important],[Confidential],[miscellaneous],[Conclusion],[InternalParticipants],[ExternalParticipants],[OtherParticipants],[Modified],[ModifiedBy],[Location1ID],[Location2ID],[StrategyInvest],[Risk],[ProductDetails],[Portfolio],[PerfReview],[PeopleOrg],[Operations] From dbo.[CommLog] Where

([FundGUID] = @FundGUID) AND

([CommunicationTypeID] = @CommunicationTypeID) AND

([CommunicationDatetime] = @CommunicationDatetime)

([CategoryID] = @CategoryID)</Property>

<Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property>

</Properties>

<FilterDescriptors>

<FilterDescriptor Type="Comparison" Name="[FundGUID]"/>

<FilterDescriptor Type="Comparison" Name="[CommunicationTypeID]"/>

<FilterDescriptor Type="Comparison" Name="[CommunicationDatetime]"/>

<FilterDescriptor Type="Comparison" Name="[CategoryID]"/>

</FilterDescriptors>

<Parameters>

<Parameter Direction="In" Name="@FundGUID">

<TypeDescriptor TypeName="System.Guid" IdentifierName="[FundGUID]" AssociatedFilter="[FundGUID]" Name="[FundGUID]"/>

</Parameter>

<Parameter Direction="In" Name="@CommunicationTypeID">

<TypeDescriptor TypeName="System.Int16" IdentifierName="[CommunicationTypeID]" AssociatedFilter="[CommunicationTypeID]" Name="[CommunicationTypeID]"/>

</Parameter>

<Parameter Direction="In" Name="@CommunicationDatetime">

<TypeDescriptor TypeName="System.DateTime" IdentifierName="[CommunicationDatetime]" AssociatedFilter="[CommunicationDatetime]" Name="[CommunicationDatetime]"/>

</Parameter>

<Parameter Direction="In" Name="@CategoryID">

<TypeDescriptor TypeName="System.Int16" IdentifierName="[CategoryID]" AssociatedFilter="[CategoryID]" Name="[CategoryID]"/>

</Parameter>

<Parameter Direction="Return" Name="dbo.[CommLog]">

<TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="dbo.[CommLog]DataReader" IsCollection="true">

<TypeDescriptors>

<TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="dbo.[CommLog]DataRecord">

<TypeDescriptors>

<TypeDescriptor TypeName="System.Guid" IdentifierName="[FundGUID]" Name="FundGUID"/>

<TypeDescriptor TypeName="System.Int16" IdentifierName="[CommunicationTypeID]" Name="CommunicationTypeID"/>

<TypeDescriptor TypeName="System.DateTime" IdentifierName="[CommunicationDatetime]" Name="CommunicationDatetime"/>

<TypeDescriptor TypeName="System.Int16" IdentifierName="[CategoryID]" Name="CategoryID"/>

<TypeDescriptor TypeName="System.String" Name="Subject"/>

<TypeDescriptor TypeName="System.Boolean" Name="Important"/>

<TypeDescriptor TypeName="System.Boolean" Name="Confidential"/>

<TypeDescriptor TypeName="System.String" Name="miscellaneous"/>

<TypeDescriptor TypeName="System.String" Name="Conclusion"/>

<TypeDescriptor TypeName="System.String" Name="InternalParticipants"/>

<TypeDescriptor TypeName="System.String" Name="ExternalParticipants"/>

<TypeDescriptor TypeName="System.String" Name="OtherParticipants"/>

<TypeDescriptor TypeName="System.DateTime" Name="Modified"/>

<TypeDescriptor TypeName="System.String" Name="ModifiedBy"/>

<TypeDescriptor TypeName="System.Int16" Name="Location1ID"/>

<TypeDescriptor TypeName="System.Int16" Name="Location2ID"/>

<TypeDescriptor TypeName="System.String" Name="StrategyInvest"/>

<TypeDescriptor TypeName="System.String" Name="Risk"/>

<TypeDescriptor TypeName="System.String" Name="ProductDetails"/>

<TypeDescriptor TypeName="System.String" Name="Portfolio"/>

<TypeDescriptor TypeName="System.String" Name="PerfReview"/>

<TypeDescriptor TypeName="System.String" Name="PeopleOrg"/>

<TypeDescriptor TypeName="System.String" Name="Operations"/>

</TypeDescriptors>

</TypeDescriptor>

</TypeDescriptors>

</TypeDescriptor>

</Parameter>

</Parameters>

<MethodInstances>

<MethodInstance Name="dbo.[CommLog]SpecificFinder" Type="SpecificFinder" ReturnParameterName="dbo.[CommLog]" ReturnTypeDescriptorName="dbo.[CommLog]DataReader" ReturnTypeDescriptorLevel="0"/>

</MethodInstances>

</Method>

<Method Name="dbo.[CommLog]IDEnumerator">

<Properties>

<Property Name="RdbCommandType" Type="System.String">Text</Property>

<Property Name="RdbCommandText" Type="System.String">Select [FundGUID],[CommunicationTypeID],[CommunicationDatetime],[CategoryID] from dbo.[CommLog]</Property>

</Properties>

<Parameters>

<Parameter Direction="Return" Name="[FundGUID]s">

<TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="dbo.[CommLog]s" IsCollection="true">

<TypeDescriptors>

<TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="dbo.[CommLog]">

<TypeDescriptors>

<TypeDescriptor TypeName="System.Guid" IdentifierName="[FundGUID]" Name="FundGUID"/>

<TypeDescriptor TypeName="System.Int16" IdentifierName="[CommunicationTypeID]" Name="CommunicationTypeID"/>

<TypeDescriptor TypeName="System.DateTime" IdentifierName="[CommunicationDatetime]" Name="CommunicationDatetime"/>

<TypeDescriptor TypeName="System.Int16" IdentifierName="[CategoryID]" Name="CategoryID"/>

</TypeDescriptors>

</TypeDescriptor>

</TypeDescriptors>

</TypeDescriptor>

</Parameter>

</Parameters>

<MethodInstances>

<MethodInstance Name="[FundGUID]EnumeratorInstance" Type="IdEnumerator" ReturnParameterName="[FundGUID]s"/>

</MethodInstances>

</Method>

</Methods>

</Entity>

</Entities>

</LobSystem>

I spent already a couple of hours trying to modify the xml file and still get the same results.

Please help.

Mario



Re: SharePoint - Business Data Catalog Getting erros when crawling

Frank Chiang

First you need to get your Finder and SpecificFinder methods working.

Second, your IdEnumerator method has too many parameters. All you need is 'select <PrimaryKey> from <Table>' and return only <PrimaryKey>.

Third, your SpecificFinder method has to have input parameter for <PrimaryKey>.

Fourth, make sure your search account has access to the <Table>.





Re: SharePoint - Business Data Catalog Getting erros when crawling

MANMario

Hi,

Thanks for your response.

What do you think is wrong with the methods Sorry but my entity has a multiple primary keys.

REgards,
Mario




Re: SharePoint - Business Data Catalog Getting erros when crawling

Frank Chiang

<What do you think is wrong with the methods >

When you say 'methods', I assume that it is more than one, that means you haven't got Finder and/or SpecificFinder working yet, besides IdEnumerator. If that is the case, you should really forget about IdEnumerator at the moment. Strip down your Finder and SpecificFinder to its barebone for troubleshooting, get them going first. Can you do that first

In regard to multiple keys, my other post to you suggests that you create a view with a composite key. That would address your problem nicely. As I said earlier, your IdEnumerator method should only be: 'select <key> from <view>'. You can also add a 'where' clause later.





Re: SharePoint - Business Data Catalog Getting erros when crawling

MANMario

Hi Frank,

Thanks for your help. Before trying what you suggested with the view I found this article: http://weblog.vb-tech.com/nick/archive/2007/02/17/2183.aspx which recommends to use for GUID columns TypeName="System.String" instead of TypeName="System.Guid", this solved the problem with the crawling.

Unfortunately I have another problem. If I do a search and find an entry, when clicking on the entry link to view its details I get an error stating Item not Found in XXInstance. The link provided for the found entry is:





Re: SharePoint - Business Data Catalog Getting erros when crawling

Nick Swan

try changing the System.DataTime to System.String as well

Nick






Re: SharePoint - Business Data Catalog Getting erros when crawling

MANMario

When I set the DateTime to string not all the rows area crawled, some fail with the follwoing error:

System.Data.SqlClient.SqlException: Arithmetic overflow error converting expression to data type datetime. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.HasMoreRows() at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout) at System.Data.SqlClient.SqlDataReader.Read() at Microsoft.O...

...ffice.Server.ApplicationRegistry.SystemSpecific.Db.DbEntityInstanceEnumerator.MoveNext() at Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Object[] subIdentifierValues, LobSystemInstance lobSystemInstance) at Microsoft.Office.Server.ApplicationRegistry.Search.SearchStaticHelper.GetEntityInstance(String serializedEntityInstanceId, UInt32 entityId, UInt32 systemInstanceId) at Microsoft.Office.Server.ApplicationRegistry.Search.SearchStaticHelperWrapper.GetEntityInstance(String sspAppId, String serializedEntityInstanceId, UInt32 entityId, UInt32 systemInstanceId) at GetEntityInstance(Char* pcwszAppName, Char*** pppcwszFieldNames, tagPROPVARIANT*** pppPropVariant, UInt32* puiFieldCount, Char* pcwszSerializedEntityInstanceId, UInt32 uiEntityId, UInt...