Ett BDC körningsfel förklaras

Jag orsakat en BDC fel denna vecka som visat sig på användargränssnittet och i den 12 bikupa Stock vid körning.

Första, Detta visades i användargränssnittet:

Kunde inte hitta fält för att infoga alla identifierare värdena för att korrekt utföra en SpecificFinder MethodInstance med namn … Kontrollera att indataparametrarna har typbeskrivare (TypeDescriptor) associerade med varje identifierare som definierats för denna entitet.

Här är en skärmdump:

clip_image001

Jag kan också orsaka detta meddelande att visas i den 12 bikupa stock på kommer (använder min patenterade high-tech-don't-try-this-at-home "mystiska fel" metoden):

11/14/2007 09:24:41.27 W3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x hög undantag i BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Identifierarvärde ”, av typ ”, är ogiltig. Förväntade identifierarvärde av typen System.String. på Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, LobSystemInstance lobSystemInstance) på Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Enhet enhet, Objekt[] userValues, LobSystemInstance lobSystemInstance) på Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Visa desiredView) på Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() på Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Jag sökte runt och hittade några leads i den MSDN-forumet för, men de var inte nog för mig att förstå vad jag gjorde fel. Jag såg en webbsändning av Ted Pattison som min företaget har squirreled bort på en server och kom att inse mitt problem.

I min ADF, Jag ansluter till en SQL databas som visas:

            <Egenskapen Namn="RdbCommandText" Typ="System.String">
              <![CDATA[
                VÄLJ SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      LAND, ADRESS1, ADRESS2, ADDRESS3, ADDRESS4, STADEN, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, STATLIGA, POST-, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, EXTENSION, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG från dbo.PS_CARRIER_ID_VW med (nolock)
                DÄR
                  (SETID <> "DELA") och
                  (lägre(CARRIER_ID) >= lägre(@MinId)) och
                  (lägre(CARRIER_ID) <= lägre(@ MaxId)) och
                  (lägre(DESCR) SOM lägre(@InputDescr))
                ]]>
            </Egenskapen>

Jag lämnades det SQL från en DBA person och jag får att förstå att det är en särskilda Visa de skapade bara för mig. Den unika nyckeln det är CARRIER_ID.

Här är felet jag infört:

      <Kännetecken>
        <Identifierare Namn="CARRIER_ID" TypeName="System.String" />
        <Identifierare Namn="DESCR" TypeName="System.String" /> 
</Kännetecken>

Någonstans längs linjen, Jag hade lyckats förväxla mig själv över menande av <Kännetecken> och lagt till DESCR även om det inte är faktiskt en identifierare. Jag tog DESCR ur den identifierare set och presto! Det hela fungerade.

I hope this saves someone some grief 🙂

Technorati Tags: , , ,

2 tankar på "Ett BDC körningsfel förklaras

  1. Paul Galvin

    Pieter, du probalby löste detta nu, men min gissning är att det skulle vara relaterat till definitionen på baksidan slutet. Kanske är själva fältet SQL begränsad till 60 tecken? Något liknande?

    Svar
  2. Pieter Veenstra

    Hej,

    Jag har ett problem med en Reservdomänkontrollant, och undrar om du kan hjälpa till med detta?

    Jag använder två identifiier fält ( ett nummer och ett beskrivningsfält), När det totala antalet tecken överskrider 60 Jag får foollowing fel:

    Ogiltigt textvärde

    Ett text-fält innehåller ogiltig information. Kontrollera värdet och försök igen.

    Förstår du där detta begränsa av 60 tecken kommer från? och hur man löser problemet?

    För närvarande jag begränsa beskrivningen på ett sådant sätt att det totala antalet tecken inte överskrider 60.

    Svar

Lämna svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *