En BDC-runtime error forklaret

Jeg lod en BDC-fejl i denne uge, der manifesterede sig på brugergrænsefladen og i den 12 hive log på kørselstidspunktet.

Første, denne dukkede op i brugergrænsefladen:

Der blev ikke fundet felter til at indsætte alle de id-værdier for at udføre en SpecificFinder MethodInstance med navnet korrekt … Sikre, at inputparametre har knyttet hver defineret for denne enhed id TypeDescriptors til.

Her er et skærmbillede:

clip_image001

Jeg kan også forårsage denne besked skal vises i den 12 hive log på vil (bruge min patenteret high-tech-don't-try-this-at-home "mystiske fejl" metode):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x høj undtagelse i BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Id-værdi ”, af Type ”, er ugyldigt. Forventede id-værdi af typen 'System.String'. på Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, LobSystemInstance lobSystemInstance) på Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Enhed enhed, Objekt[] userValues, LobSystemInstance lobSystemInstance) på Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Se desiredView) på Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() på Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Jeg søgte rundt og fundet nogle fører i den MSDN forum, men de var ikke nok for mig at forstå, hvad jeg gjorde forkert. Jeg iagttog et webcast af Ted Pattison at min virksomheden har squirreled væk på en server og kom til at indse mit problem.

I min ADF, Jeg tilslutning til en SQL-database som vist:

            <Ejendom Navn="RdbCommandText" Type="System.String">
              <![CDATA[
                VÆLG 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, CITY, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, STATEN, POST-, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, UDVIDELSE, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG fra dbo.PS_CARRIER_ID_VW med (NOLOCK)
                HVOR
                  (SETID <> 'ANDEL') og
                  (lavere(CARRIER_ID) >= lavere(@MinId)) og
                  (lavere(CARRIER_ID) <= lavere(@MaxId)) og
                  (lavere(DESCR) GERNE lavere(@InputDescr))
                ]]>
            </Ejendom>

Jeg var forudsat at SQL fra en person, DBA og jeg får at forstå, at det er en særlige Se de skabt bare for mig. Den unikke nøgle der er CARRIER_ID.

Her er den fejl jeg introduceret:

      <Identifikatorer>
        <Id Navn="CARRIER_ID" TypeName="System.String" />
        <Id Navn="DESCR" TypeName="System.String" /> 
</Identifikatorer>

Et sted langs linjen, Jeg havde formået at forvirre mig over betydningen af <Identifikatorer> og tilføjet DESCR, selvom det ikke er ligefrem et id. Jeg tog DESCR ud af de identifikatorer og presto! Det hele fungerede.

Jeg håber, at dette sparer nogen nogle sorg 🙂

Technorati Tags: , , ,

2 tanker om ”En BDC-runtime error forklaret

  1. Paul Galvin

    Pieter, du probalby løst dette ved nu, men mit gæt er, at det ville være relateret til definitionen på back-end. Måske er selve SQL-feltet begrænset til 60 chars? Sådan noget?

    Svar
  2. Pieter Veenstra

    Hej,

    Jeg har fået et problem med en BDC, og gad vide, hvis du kan hjælpe med dette?

    Jeg bruger to identifiier felter ( et tal og en beskrivelsesfeltet), Når det samlede antal tegn overstiger 60 Jeg får foollowing fejl:

    Ugyldig tekstværdi

    Et tekst-felt indeholder ugyldige data. Kontroller værdien, og prøv igen.

    Forstår du, hvor dette begrænse af 60 tegn kommer fra? og hvordan man kan løse dette problem?

    I øjeblikket jeg begrænse beskrivelse på en sådan måde, at det samlede antal tegn ikke overstige 60.

    Svar

Efterlad et svar til Pieter Veenstra Annuller besvarelse

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *