Jeg fikk en BDC-feil denne uken som viste seg på brukergrensesnitt og i den 12 strukturen Logg under kjøring.
Første, Dette dukket opp i brukergrensesnittet:
Finner ikke felt for innsetting av alle identifikatorverdiene for riktig kjøring av SpecificFinder MethodInstance med navnet … Kontroller at inndataparametere har TypeDescriptors knyttet til alle identifikatorer som er definert for denne enheten.
Her er et skjermbilde:
Jeg kan også føre denne meldingen skal vises i den 12 strukturen loggen vil (bruke min patentert high-tech-don't-try-this-at-home "mystisk feil" metoden):
11/14/2007 09:24:41.27 W3WP.exe (0x080C) 0x0B8C SharePoint Portal Server forretningsdata 6q4x høy unntak i BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Identifier-verdien ”, typen ”, er ugyldig. Forventet identifikatorverdi av typen System.String. ved Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, LobSystemInstance lobSystemInstance) ved Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Enhet enhet, Objekt[] userValues, LobSystemInstance lobSystemInstance) ved Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Vis desiredView) ved Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() ved Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Jeg søkte rundt og fant noen avledningene i det MSDN-forumet, men de var ikke nok for meg å forstå hva jeg gjorde galt. Jeg så en webcast av Ted Pattison som min selskapet har vet på en server og kom til å forstå mitt problem.
I min ADF, Jeg kobler til en SQL-database som vist:
<Egenskapen navn="RdbCommandText" Type="System.String"> <![CDATA[ VELG SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD, LAND, ADDRESS1, ADRESSE2, ADDRESS3, ADDRESS4, BYEN, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3, FYLKE, TILSTAND, POST, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, UTVIDELSE, FAKS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR, INTERLINK_DLL, TMS_EXCLUDE_FLG fra dbo.PS_CARRIER_ID_VW med (NOLOCK) HVOR (SETID <> "DEL") og (lavere(CARRIER_ID) >= lavere(@MinId)) og (lavere(CARRIER_ID) <= lavere(@MaxId)) og (lavere(DESCR) SOM lavere(@InputDescr)) ]]> </Egenskapen>
Jeg var gitt at SQL fra en DBA person og jeg får til å forstå at det er en spesielle Vis de opprettet bare for meg. Unik nøkkel det er CARRIER_ID.
Her er feilen jeg introdusert:
<Identifikatorer> <Identifikator navn="CARRIER_ID" TypeName="System.String" /> <Identifikator navn="DESCR" TypeName="System.String" />
</Identifikatorer>
Et sted langs linjen, Jeg hadde klart å forvirre meg selv over betydningen av <Identifikatorer> og lagt DESCR selv om det ikke er egentlig en identifikator. Jeg tok DESCR identifikatorer sett og vips! Det hele virket.
Jeg håper dette sparer noen sorg 🙂
Pieter, du probalby løst dette nå, men min gjetning er at det vil være knyttet til definisjonen på baksiden slutten. Kanskje er selve SQL-feltet begrenset til 60 tegn? Noe sånt?
hei,
Jeg har et problem med en BDC, og jeg lurer på om du kan hjelpe med dette?
Jeg bruker to identifiier felt ( et nummer og et beskrivelsesfelt), Når antall tegn overskrider 60 Jeg får foollowing feil:
Ugyldig tekstverdi
Et tekstfelt inneholder ugyldige data. Kontroller verdien og prøv igjen.
Forstår du hvor dette begrense av 60 tegn kommer fra? og hvordan å fikse dette problemet?
For tiden jeg begrenser beskrivelsen i slike slik at det totale antallet tegn ikke overstiger 60.