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:
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 🙂