Chyba runtime BDC vysvětlil

Jsem způsobil chybu BDC tento týden, která se projevila na uživatelské rozhraní a 12 protokol úl za běhu.

První, To se objevil v uživatelském rozhraní:

Nelze najít pole pro vložení všech hodnot identifikátorů ke správnému spuštění instance SpecificFinder MethodInstance s názvem … Zkontrolujte, zda že mají vstupní parametry přidruženy všem identifikátorům definovaným pro tuto entitu popisovač TypeDescriptor ke.

Zde je screen shot:

clip_image001

Také by mohla způsobit této zprávy se objeví v 12 protokol úl se (použití můj patentovaný high-tech-don't-try-this-at-home "záhadné chyby" Metoda):

11/14/2007 09:24:41.27 W3wp.exe (0x080C) 0x0B8C SharePoint Portal Server obchodních dat 6q4x vysoké výjimka v BusinessDataWebPart.OnPreRender: Výjimka: Hodnota identifikátoru ”, typu ”, je neplatný. Očekávaná hodnota identifikátoru typu "System.String.". na Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, Vlastnost LobSystemInstance instanci lobSystemInstance) na Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entita entity, Objekt[] userValues, Vlastnost LobSystemInstance instanci lobSystemInstance) na Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Zobrazit desiredView) na Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() na Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Hledal jsem a našel nějaký zájemce v MSDN Fórum, ale nebylo dost pro mě pochopit, co dělám špatně. Sledoval jsem vysílání od Ted Pattison to moje Společnost se schovávaly na serveru a přišli realizovat můj problém.

V mém ADF, Připojení k databázi SQL uvedené:

            <Vlastnost Jméno="RdbCommandText" Typ="System.String">
              <![CDATA[
                VYBERTE ID SADY, CARRIER_ID, EFFDT, POPIS, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      ZEMĚ, ADDRESS1, ADRESA2, ADDRESS3, ADDRESS4, MĚSTO, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      OKRES, STÁT, POŠTOVNÍ, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, PRODLOUŽENÍ, FAXU, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG od dbo.PS_CARRIER_ID_VW s (NOLOCK)
                KDE
                  (ID SADY <> "PODÍL") a
                  (nižší(CARRIER_ID) >= nižší(@MinId)) a
                  (nižší(CARRIER_ID) <= nižší(@MaxId)) a
                  (nižší(POPIS) JAKO spodní(@InputDescr))
                ]]>
            </Vlastnost>

Byl poskytnut toto SQL z DBA osoby a dal mi pochopit, že jde speciální pohled, který si vytvořili jen pro mě. Jedinečný klíč tam je CARRIER_ID.

Tady je chyba, kterou jsem představil:

      <Identifikátory>
        <Identifikátor Jméno="CARRIER_ID" TypeName="System.String" />
        <Identifikátor Jméno="POPIS" TypeName="System.String" /> 
</Identifikátory>

Někde podél trati, Se podařilo zmást sám s významem <Identifikátory> a přidat popis, i když to není ve skutečnosti identifikátor. Vzal jsem si popis sada identifikátory a presto! To všechno fungovalo.

I hope this saves someone some grief 🙂

Doplněk Technorati značky: , , ,

2 myšlenky na „Chyba runtime BDC vysvětlil

  1. Paul Galvin

    Pieter, jste dvacetimegabajtovém vyřešil tím, že nyní, ale můj odhad je, že to bude souviset s definice na back-end. Možná je omezená na samotné pole SQL 60 znaků? Něco takového?

  2. Pieter Veenstra

    Ahoj,

    Já mám problém se záložní řadič domény, a zajímalo by mě, jestli můžete pomoci s tímto?

    Jsem pomocí dvou identifiier polí ( číslo a popis pole), Pokud celkový počet znaků překračuje 60 Dostávám chyby foollowing:

    Textová hodnota

    Textové pole obsahuje neplatná data. Zkontrolujte hodnotu a opakujte akci.

    Rozumíš, kde tento limit 60 znaky pochází z? a jak vyřešit tento problém?

    V současné době jsem omezení popis takovým způsobem, že se nepřekročí celkový počet znaků 60.

Zanech odpověď

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *