A BDC futásidejű hiba magyarázata

Én okozott a BDC hiba ezen a héten, hogy nyilvánult meg, a felhasználói felület és az a 12 Méhkas Napló futásidőben.

Első, Ez jelent meg, a felhasználói felület:

Nem találta meg a mezők szúrni az összes azonosítóértéket nevű SpecificFinder metóduspéldány helyes végrehajtásához … Biztosítja a bemeneti paraméterek rendelkeznek TypeDescriptor leírókkal minden egyedhez definiált azonosító.

Itt van egy képernyő szemcsésedik:

clip_image001

Is tudna okoz ez az üzenet jelenik meg a 12 Méhkas Napló a térképen (a szabadalmaztatott high-tech-don't-try-this-at-home segítségével "titokzatos hibák" a módszer):

11/14/2007 09:24:41.27 W3wp.exe (0x080C) 0x0B8C SharePoint Portal Server üzleti adatok 6q4x magas kivétel a BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Az azonosító értéket ”, típusú ”, Érvénytelen. Várható értéket System.String"típusú. a Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objektum[] subIdentifierValues, LobSystemInstance lobSystemInstance) a Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Szervezet szervezet, Objektum[] userValues, LobSystemInstance lobSystemInstance) a Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Nézet desiredView) a Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() a Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Én keresett körül és alapít néhány vezet a MSDN fórumban, de nem volt elég ahhoz, hogy megértsem, mit csinálok rosszul. Néztem egy élő adás, amelyet Ted Pattison amit az én-m Vállalat van mókus el-egy szerveren, és jött, hogy rájönnek a probléma.

Az én ADF, Vagyok csatlakozik, egy SQL adatbázis látható:

            <Ingatlan név="RdbCommandText" Típus="System.String">
              <![CDATA[
                VÁLASSZA KI A SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      ORSZÁG, CÍM 1, CÍM 2, CÍM 3, ADDRESS4, VÁROS, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      MEGYE, ÁLLAMI, POSTAI, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, KITERJESZTÉS, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG a dbo.PS_CARRIER_ID_VW (NOLOCK)
                AHOL
                  (SETID <> "SHARE") és
                  (alsó(CARRIER_ID) >= alsó(@MinId)) és
                  (alsó(CARRIER_ID) <= alsó(@MaxId)) és
                  (alsó(DESCR) Alacsonyabb, mint(@InputDescr))
                ]]>
            </Ingatlan>

Én volt, feltéve hogy SQL DBA személytől, és én vagyok megérteni, hogy egy különleges Nézd készítettek, csak számomra. Egyedi kulcs a CARRIER_ID.

Itt van a hiba én bemutatott:

      <Azonosítók>
        <Azonosítója név="CARRIER_ID" TypeName="System.String" />
        <Azonosítója név="DESCR" TypeName="System.String" /> 
</Azonosítók>

Valahol a vonal mentén, Sikerült összezavarni magam alatt <Azonosítók> és hozzá DESCR, még akkor is, ha a ' nem valójában azonosítója. Vettem DESCR ki a készlet azonosítók és a gyors! Ez munkás.

Remélem, hogy ez ment valakinek némi gyászot 🙂

2 gondolatok „A BDC futásidejű hiba magyarázata

  1. Paul Galvin

    Pieter, Ön probalby megfejt ez mostanra, de én hiszem, hogy lenne kapcsolódik a meghatározás a háttérben. Talán maga SQL mező korlátozott-hoz 60 karakter? Valami ilyesmi?

    Válasz
  2. Pieter Veenstra

    szia,

    Van egy kérdés-val egy tartalék tartományvezérlő, és kíváncsi vagyok, ha segíteni tud, ezzel?

    Én használ két identifiier mezők ( egy szám és a Megnevezés mezőben), Amikor az összes karakter száma meghaladja 60 Én szerzés foollowing hiba:

    Érvénytelen szöveges érték

    Egy a szövegmező érvénytelen adatot tartalmaz.. Ellenőrizze az értéket, és próbálja újra.

    Érted, ha ez korlátozza a 60 karakterek származik? és hogyan viselkedni erősít ez probléma?

    Jelenleg vagyok korlátozza a Leírás oly módon, hogy az összes karakter száma nem haladja meg 60.

    Válasz

Hagy egy válaszol a Pieter Veenstra válasz visszavonása

Az e-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *