I achosi gwall BDC yr wythnos hon amlygu ei hun ar y rhyngwyneb defnyddiwr ac yn y 12 cwch log yn Rhedeg.
Cyntaf, Ymddangosodd hyn yn y rhyngwyneb defnyddiwr:
Methu canfod meysydd i fewnosod holl Gwerthoedd Dynodwr i gyflawni MethodInstance SpecificFinder gywir gyda Enw … Sicrhau bod Paramedrau mewnbwn yn cael TypeDescriptors sy'n gysylltiedig gyda phob Dynodwr a ddiffiniwyd ar gyfer Endid hwn.
Dyma ergyd sgrîn:
Gallwn hefyd achosi neges hon i ymddangos yn y 12 log cwch gwenyn ar bydd (gan ddefnyddio fy high-tech-don't-try-this-at-home phatent "rhyfedd gwallau" dull):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C Data busnes SharePoint Porth gweinydd 6q4x eithriad uchel yn BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Mae gwerth Dynodwr ”, Math ”, yn annilys. Gwerth disgwyliedig y Dynodwr o'r math 'System.String'. yn Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Gwrthrych[] subIdentifierValues, LobSystemInstance LobSystemInstance) yn Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Endid endid, Gwrthrych[] userValues, LobSystemInstance LobSystemInstance) yn Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(View desiredView) yn Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() ar Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Wyf yn chwilio o gwmpas a dod o hyd rhai arweinwyr yn y Fforwm MSDN, ond doedden nhw ddim digon i mi ddeall beth oedd yn ei wneud o'i le. Gwyliais gweddarllediad gan Ted Pattison Mae hynny'n fy cwmni WEDI coffrau ar weinydd a cam i Sylweddoli fy problem.
Yn fy ADF, Rydw i'n cysylltu i gronfa ddata SQL fel y dangosir:
<Eiddo Enw="RdbCommandText" Math="System.String">
<![CDATA[
SELECT
, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
GWLAD, Cyfeiriad1, Cyfeiriad2, ADDRESS3, ADDRESS4, CITY, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
SIR, STATE, POST, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, FFÔN, ESTYNIAD, FFACS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG
(nolock)
LLE
(SETID <> 'SHARE') a
(gostwng(CARRIER_ID) >= Yn is(@ MinId)) a
(gostwng(CARRIER_ID) <= Yn is(@ MaxId)) a
(gostwng(DESCR) FEL is(@ InputDescr))
]]>
</Eiddo>
Yr oeddwn ar yr amod bod SQL gan berson DBA ac rwy'n cael ar ddeall ei fod yn arbennig barn a oeddent wedi ei greu i mi yn unig. Yr allwedd unigryw Mae yw CARRIER_ID.
Dyma y byg cyflwynais:
<Dynodwyr>
<Dynodwr Enw="CARRIER_ID" TypeName="System.String" />
<Dynodwr Enw="DESCR" TypeName="System.String" />
</Dynodwyr>
Rhywle ar hyd y llinell, Roeddwn i wedi llwyddo i ddrysu fy hun ynglŷn ag ystyr <Dynodwyr> ac ychwanegodd DESCR hyd yn oed er nad yw'n dynodwr mewn gwirionedd. Cymerais DESCR allan o set dynodwyr a wele! Mae i gyd yn gweithio.
Rwy'n gobeithio y mae hyn yn arbed rhywun rhyw galar 🙂