Ma tekitanud BDC eksimust sel nädalal, et kujutavas kasutajaliides ja selle 12 taru Logi käitusajal.
Esimese, see ilmus kasutajaliides:
Ei leitud välju kõigi ID-väärtuste õigeks käivitamiseks SpecificFinder MethodInstance, mille nimi … Tagada sisendi sisendparameetrite atribuudid TypeDescriptor on seostatud iga selle olemi jaoks määratletud.
Siin on pilt kaaperdamine:
Võib tekitada ka selle sõnumi kuvatakse selle 12 taru Logi kell näidatakse (kasutades minu patenteeritud high-tech-don't-try-this-at-home "salapärane vead" meetod):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server äriandmete 6q4x suur erand BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Identifikaatori väärtus ”, tüüp ”, ei sobi. Eeldatav identifikaatori väärtus tüübiga System.String. kell Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekti[] subIdentifierValues, LobSystemInstance'i lobSystemInstance) kell Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Üksus üksus, Objekti[] userValues, LobSystemInstance'i lobSystemInstance) kell Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Vaade desiredView) kell Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() kell Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Ma otsinud umbes ja leidis mõned viib selle MSDN Foorum, kuid nad ei olnud piisavalt, et mind mõista, mida ma tegin valesti. Ma vaatasin poolt veebiülekanne Ted Pattison mis minu firma on katuseraha server ja tuli aru minu probleem.
In minu ADF, Ma olen ühendamisel SQL andmebaasi, nagu on näidatud:
<Kinnisvara Nimi="RdbCommandText" Tüüp="System.String">
<![CDATA[
VALIGE SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
RIIK, ADDRESS1, AADRESS 2, ADDRESS3, ADDRESS4, CITY, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
MAAKONNAS, RIIK, POSTI TEEL, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFONI, LAIENDAMINE, FAKS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG alates dbo.PS_CARRIER_ID_VW koos (NOLOCK)
KUI
(SETID <> "SHARE") ja
(madalama(CARRIER_ID) >= madalama(@MinId)) ja
(madalama(CARRIER_ID) <= madalama(@MaxId)) ja
(madalama(DESCR) MEELDIB madalam(@InputDescr))
]]>
</Kinnisvara>
Mul oli ette selle SQL DBA isikult ja olen andnud mõista, et see on mõne erilist Vaade, mis on loodud just minu jaoks. Kordumatu võti on CARRIER_ID.
Siin on viga, ma kehtestati:
<Identifikaatorid>
<Identifikaator Nimi="CARRIER_ID" TypeName="System.String" />
<Identifikaator Nimi="DESCR" TypeName="System.String" />
</Identifikaatorid>
Kusagil liinil, Olen ma suutnud ajada ennast üle tähenduses <Identifikaatorid> ja lisatud DESCR, kuigi see ei ole tegelikult identifikaator. Võtsin DESCR välja tunnuste komplekti ja presto! See kõik töötas.
I hope this saves someone some grief 🙂