Ek laat 'n BDC fout hierdie week wat gemanifesteer op die gebruikerskoppelvlak en in die 12 Hive log tydens looptyd.
Eerste, Dit verskyn in die gebruikerskoppelvlak:
Kon dit nie vind velde al die Identifier waardes te voeg om korrek uit te voer 'n SpecificFinder MethodInstance met Naam … Maak seker invoerparameters het TypeDescriptors wat verband hou met elke Identifier gedefinieer vir hierdie Entiteit.
Hier is 'n skerm prent:
Ek kan ook veroorsaak dat hierdie boodskap verskyn in die 12 die korf log by sal (using my patented high-tech-don’t-try-this-at-home "Geheimsinnige foute" metode):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Die identifiseerder waarde ”, van die tipe ”, is, is ongeldig. Expected Identifier value of Type ‘System.String’. by Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Object[] subIdentifierValues, LobSystemInstance lobSystemInstance) by Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entiteit entiteit, Object[] userValues, LobSystemInstance lobSystemInstance) by Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(View desiredView) by Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() by Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Ek het rond gesoek en het 'n paar leidrade in die MSDN forum, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Ted Pattison dat my maatskappy squirreled weg op 'n bediener en het my probleem om te besef.
In my ADF, Ek is verbind tot 'n SQL databasis soos aangedui:
<Eiendom Naam="RdbCommandText" Tipe="System.String">
<![CDATA[
KIES
, CARRIER_ID, EFFDT, Ses, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
COUNTRY, Adres1, Adres2, ADDRESS3, ADDRESS4, STAD, Num1, Num2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
COUNTY, STAAT, POS, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, PHONE, UITBREIDING, FAKS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG
(nolock)
WAAR
(SETID <> 'Aandeel') en
(verlaag(CARRIER_ID) >= Laer(@ MinID)) en
(verlaag(CARRIER_ID) <= Laer(@ MaxId)) en
(verlaag(Ses) SOOS laer(@ InputDescr))
]]>
</Eiendom>
Ek is met dien verstande dat SQL van 'n DBA persoon en ek gegee om te verstaan dat dit 'n spesiale view they created just for me. The unique key there is CARRIER_ID.
Hier is die fout wat ek lei:
<Merktekens>
<Identifiseer Naam="CARRIER_ID" Type Name="System.String" />
<Identifiseer Naam="Ses" Type Name="System.String" />
</Merktekens>
Iewers langs die lyn, Ek het daarin geslaag om myself te verwar oor die betekenis van <Merktekens> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! Dit het alles uitgewerk.
I hope this saves someone some grief 🙂