BDC runtime error paskaidroja

Man izraisīja BDC kļūdu šonedēļ, kas izpaudās lietotāja interfeisā un 12 stropu žurnāla Runtime.

Pirmais, tas parādījās lietotāja interfeisā:

Nevarēja atrast laukus, lai ievietotu visas identifikatoru vērtības un pareizi izpildītu SpecificFinder MethodInstance ar nosaukumu … Pārliecinieties, vai ievades parametriem TypeDescriptor ir saistīti ar katru identifikatoru, kas definēts šai entītijai.

Šeit ir screen shot:

clip_image001

Es arī varētu izraisīt šis ziņojums parādīsies 12 stropu pieteikšanās pie tiks (izmantojot savu patentēto high-tech-don't-try-this-at-home "mysterious kļūdu" metode):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C biznesa datus SharePoint portāla servera 6q4x liels izņēmums BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Identifikatora vērtība ”, tipa ”, nav derīgs. Tika gaidīta identifikatora vērtība ar tipu "System.String". pie Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekta[] subIdentifierValues, LobSystemInstance lobSystemInstance) pie Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Uzņēmums uzņēmums, Objekta[] userValues, LobSystemInstance lobSystemInstance) pie Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Skatīt desiredView) pie Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() pie Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Es meklēja apkārt un atrast dažus potenciālos klientus programmā MSDN forums, bet tie nav pietiekami, lai es varētu saprast, kas man bija darīt nepareizi. Es vēroju pārraidi Ted Pattison ka mana uzņēmums serverī un nāca saprast, ka mana problēma ir squirreled prom.

Ar manu ADF, Esmu savienojumu ar SQL datu bāzi, kā parādīts:

            <Īpašuma vārds="RdbCommandText" Tips="System.String">
              <![CDATA[
                ATLASĪT SETID, CARRIER_ID, EFFDT, IZGŪTI ATSEVIŠĶI, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      VALSTS, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, PILSĒTA, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      APRIŅĶIS, VALSTS, PASTA, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TĀLRUNIS, PAPLAŠINĀJUMS, FAKSS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG no dbo.PS_CARRIER_ID_VW ar (NOLOCK)
                KUR
                  (SETID <> "DAĻA") un
                  (zemāka(CARRIER_ID) >= zemāks(@MinId)) un
                  (zemāka(CARRIER_ID) <= zemāks(@MaxId)) un
                  (zemāka(IZGŪTI ATSEVIŠĶI) PIEMĒRAM, zemāka(@InputDescr))
                ]]>
            </Īpašuma>

Bija paredzēts, ka DBA personai no SQL un esmu devis, lai saprastu, ka tas ir īpaša skatā, kas tie izveidoti tikai par mani. Unikāla, tur ir CARRIER_ID.

Šeit ir kļūda es iepazīstināju:

      <Identifikatori>
        <Identifikators vārds="CARRIER_ID" TypeName="System.String" />
        <Identifikators vārds="IZGŪTI ATSEVIŠĶI" TypeName="System.String" /> 
</Identifikatori>

Kaut kur pa līniju, Bija izdevies sajaukt sevi pār nozīmē <Identifikatori> un pievienots izgūti atsevišķi, pat ja tas nav faktiski identifikators. Es iedzēru izgūti atsevišķi no kopas identifikatorus un presto! Tā strādāja.

I hope this saves someone some grief 🙂

Technorati Tags: Technorati Tags: , , ,

2 domas par "BDC runtime error paskaidroja

  1. Paul Galvin

    Pieter, jūs probalby atrisināt šo līdz šim, bet mans minējums ir, ka tas būtu saistīts ar definīciju par atpakaļ beigās. Varbūt pati SQL lauks ir ierobežots līdz 60 chars? Kaut kas līdzīgs, ka?

    Atbilde
  2. Pieter Veenstra

    čau,

    Man ir problēma ar BDK, un brīnums, ja jūs varat palīdzēt ar šo?

    Lietoju divus identifiier lauki ( skaitli un lauka apraksts), ikreiz, kad kopējais rakstzīmju skaits pārsniedz 60 Es saņemu kļūdas foollowing:

    Nederīga teksta vērtība

    Teksta laukā ir nederīgi dati. Pārbaudiet vērtību un mēģiniet vēlreiz.

    Vai jūs saprotat, ja tas ierobežo 60 rakstzīmes, kas nāk no? un kā novērst šo problēmu?

    Pašlaik es esmu ierobežot apraksts tādā veidā, ka rakstzīmju skaits nepārsniedz 60.

    Atbilde

Atstāt atbilde Pieter Veenstra Atcelt atbildi

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *