I spowodował błąd usługi BDC w tym tygodniu, który objawia się w interfejsie użytkownika i w 12 Ula dziennika w czasie wykonywania.
Pierwszy, ten pojawił się w interfejsie użytkownika:
Nie można odnaleźć pól umożliwiających wstawienie wszystkich wartości identyfikatora w celu poprawnego wykonania metody SpecificFinder MethodInstance o nazwie … Upewnij się, że parametry wejściowe mają klasy TypeDescriptor skojarzone ze wszystkimi identyfikatorami zdefiniowanymi dla tej jednostki.
Oto zrzut ekranu:
Może również spowodować, ta wiadomość do stawienia się w 12 Ula dziennika w będzie (przy pomocy mój opatentowany high-tech-don't-try-this-at-home "tajemniczy błędy" Metoda):
11/14/2007 09:24:41.27 W3wp.exe (0x080C) 0x0B8C programu SharePoint Portal Server dane biznesowe 6q4x wysokiej wyjątek w BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Wartość identyfikatora ”, typu ”, jest nieprawidłowy. Oczekiwana wartość Identyfikator typu 'String'. w Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Obiekt[] subIdentifierValues, LOB LOB) w Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Obiekt obiekt, Obiekt[] userValues, LOB LOB) w Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Zobacz desiredView) w Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() w Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Szukałem wokół i znaleźć kilka prowadzi w MSDN forum, ale nie były one wystarczająco dużo dla mnie, aby zrozumieć, co robię źle. Oglądałem webcast przez Ted Pattison że mój firmy ma pokątnie ulokowane na serwerze i zdał sobie sprawę, mój problem.
W moim ADF, Jestem połączony z bazą danych SQL, jak pokazano:
<Właściwość Nazwa="RdbCommandText" Typ="System.String">
<![CDATA[
WYBIERZ IDENTYFIKATOR ZESTAWU, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
KRAJ, ADDRESS1, ADRES2, ADDRESS3, ADDRESS4, MIASTO, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
HRABSTWO, PAŃSTWA, POCZTOWY, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, ROZSZERZENIE, FAKS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG z dbo.PS_CARRIER_ID_VW z (NOLOCK)
JEŻELI
(IDENTYFIKATOR ZESTAWU <> "UDZIAŁ") i
(Dolna(CARRIER_ID) >= niższe(@MinId)) i
(Dolna(CARRIER_ID) <= niższe(@MaxId)) i
(Dolna(DESCR) SIĘ w dolnym(@InputDescr))
]]>
</Właściwość>
Był pod warunkiem że SQL z osoba DBA i jestem dał do zrozumienia, że jest to specjalne Zobacz, które są tworzone tylko dla mnie. Unikatowy klucz jest CARRIER_ID.
Tutaj jest błąd, który przedstawił:
<Identyfikatory>
<Identyfikator Nazwa="CARRIER_ID" Atrybut TypeName="System.String" />
<Identyfikator Nazwa="DESCR" Atrybut TypeName="System.String" />
</Identyfikatory>
Gdzieś wzdłuż linii, Gdyby udało się pomylić się nad sensem <Identyfikatory> i dodał DESCR, nawet jeśli nie jest właściwie identyfikator. Wziąłem DESCR zestaw identyfikatorów i presto! To wszystko pracował.
Mam nadzieję, że to ocali komuś trochę smutku 🙂