Som spôsobil chybu BDC tento týždeň, ktorá sa prejavila na užívateľské rozhranie a v 12 úľ denníka v režime runtime.
Prvá, to sa objavil v používateľskom rozhraní:
Nebolo možné nájsť polia na vloženie všetkých hodnôt identifikátorov na správne spustenie procedúry MethodInstance nástroja SpecificFinder s názvom … Zabezpečiť vstupné parametre priradené všetkým identifikátorom definovaným pre túto entitu objekty TypeDescriptor ku.
Tu je náhľad obrazovky:
Tiež môže spôsobiť Táto správa sa objaví v 12 úľ prihlásiť sa (používať môj patentovaný high-tech-don't-try-this-at-home "záhadné chyby" metóda):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x vysoké výnimku v BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Hodnota identifikátora ”, typu ”, je neplatný. Očakávanú hodnotu identifikátora typu System.String. v Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, Inštancia LobSystemInstance lobSystemInstance) v Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entita jednotka, Objekt[] userValues, Inštancia LobSystemInstance lobSystemInstance) v Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Zobraziť desiredView) v Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() v Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Hľadal a našiel niektoré vedie v Fórum MSDN, ale oni neboli dosť pre mňa pochopiť, čo robím zle. Díval som sa na vysielanie podľa Ted Pattison že môj spoločnosť má ďaleko squirreled na serveri a prišiel si uvedomiť, môj problém.
V mojom ADF, Som pripojenie k databáze SQL, ako je uvedené:
<Vlastnosť meno="RdbCommandText" Typ="System.string">
<![CDATA[
VYBERTE SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
KRAJINY, IKT1, ADDRESS2, ADDRESS3, ADDRESS4, MESTO, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
KRAJ, ŠTÁT, POŠTOVÉ, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFÓN, ROZŠÍRENIE, FAXOVANIE, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG z dbo.PS_CARRIER_ID_VW s (nolock)
KDE
(SETID <> "ZDIEĽANIE") a
(Dolné(CARRIER_ID) >= nižšia(@MinId)) a
(Dolné(CARRIER_ID) <= nižšia(@ MaxId)) a
(Dolné(DESCR) AKO nižšie(@InputDescr))
]]>
</Vlastnosť>
Bola za predpokladu že SQL DBA osoby a som im pochopiť, že je špeciálne zobrazenie vytvorené len pre mňa. Jedinečný kľúč, ktorý nie je CARRIER_ID.
Tu je chyba som predstavil:
<Identifikátory>
<Identifikátor meno="CARRIER_ID" Atribút TypeName="System.string" />
<Identifikátor meno="DESCR" Atribút TypeName="System.string" />
</Identifikátory>
Niekde pozdĺž línie, Mal sa podarilo zameniť sám v zmysle <Identifikátory> a pridal DESCR, aj keď to nie je vlastne identifikátor. Vzal som si DESCR z identifikátorov množiny a presto! To všetko fungovalo.
I hope this saves someone some grief 🙂