Ja izazvao BDC pogrešku ovog tjedna da se očituje o korisničkom sučelju i 12 Grozd log tijekom izvršavanja.
Prvi, to se pojavio u korisničkom sučelju:
Ne mogu pronaći stavke za umetanje sve identifikatora vrijednosti pravilno izvršiti SpecificFinder MethodInstance s Ime … Osigurajte ulazni parametri moraju TypeDescriptors povezane sa svakom Identifier definirane za ovog entiteta.
Ovdje je screen shot:
Ja se također može uzrokovati ovu poruku da se pojavi u 12 Grozd log po volji (using my patented high-tech-don’t-try-this-at-home "mysterious errors" način):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Identifier vrijednost ”, Tipa ”, je nevažeći. Expected Identifier value of Type ‘System.String’. na Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, LobSystemInstance lobSystemInstance) na Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entitetska entitet, Objekt[] userValues, LobSystemInstance lobSystemInstance) na Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Pogledajte desiredView) na Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() na Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Tražio sam okolo i naći neke ponude u MSDN forum, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Ted Pattison da je moja društvo squirreled je daleko na poslužitelju i shvatio moj problem.
U mom ADF, Ja sam spajanje na SQL bazi podataka kao što je prikazano:
<Svojstvo Ime="RdbCommandText" Tip="System.String">
<![CDATA[
SELECT
, CARRIER_ID, EFFDT, Descr, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
DRŽAVA, Address1, Adresa2, ADDRESS3, ADDRESS4, GRAD, NUM1, Num2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
ŽUPANIJA, DRŽAVNA, POŠTANSKI, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, PROŠIRENJE, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG
(nolock)
GDJE
(SETID <> 'Dijele') i
(sniziti(CARRIER_ID) >= Niži(@ MinId)) i
(sniziti(CARRIER_ID) <= Niži(@ MaxId)) i
(sniziti(Descr) Kao što su niže(@ InputDescr))
]]>
</Svojstvo>
Bio sam pod uvjetom da iz SQL DBA osobe, a ja sam dao razumjeti da je poseban view they created just for me. The unique key there is CARRIER_ID.
Ovdje je bug sam uveo:
<Identifikatora>
<Identifier Ime="CARRIER_ID" TypeName="System.String" />
<Identifier Ime="Descr" TypeName="System.String" />
</Identifikatora>
Negdje duž linije, I uspjela sam se zbuniti oko značenja <Identifikatora> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! Sve je radio.
I hope this saves someone some grief 🙂