Аз предизвиква грешка на BDC тази седмица, който се проявява в потребителския интерфейс и в 12 кошер регистър по време на изпълнение.
Първо, Това се появява в потребителския интерфейс:
Не можа да намери полета за вмъкване на всички стойности на идентификатора, за да се изпълни правилно MethodInstance на SpecificFinder с име … Осигуряване на входните параметри имат TypeDescriptor, асоциирани с всеки идентификатор, дефиниран за този обект.
Тук е параван сачми:
Аз също може да доведе до това съобщение да се появи в 12 кошер регистър в ще (използвайки моя патентована high-tech-don't-try-this-at-home "мистериозни грешки" метод):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server бизнес данни 6q4x високо изключение в BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Стойността на идентификатор ”, от тип ”, е невалиден. Очакваната стойност на идентификатор на тип "System.String". в Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Обект[] subIdentifierValues, LobSystemInstance lobSystemInstance) в Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Обект обект, Обект[] userValues, LobSystemInstance lobSystemInstance) в Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Преглед desiredView) в Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() в Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Търсих около и намери някои води в MSDN форум, но те не са достатъчно за мен да се разбере какво правя грешно. Гледах webcast от Тед Pattison че ми компанията има squirreled на сървър и дойде да осъзнават проблема ми.
В моя ADF, Аз съм свързване към SQL база данни, както е показано:
<Имоти Име="RdbCommandText" Тип="System.String"> <![НЕЗАТВОРЕН[ ИЗБЕРЕТЕ SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD, СТРАНА, ИНФОРМАЦИОННИТЕ И КОМУНИКАЦИОННИ ТЕХНОЛОГИИ1, АДРЕС2, ADDRESS3, ADDRESS4, ГРАД, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3, ОКРЪГ, ДЪРЖАВА, ПОЩЕНСКИ, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, ТЕЛЕФОН, РАЗШИРЕНИЕ, ФАКС, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR, INTERLINK_DLL, TMS_EXCLUDE_FLG от dbo.PS_CARRIER_ID_VW с (nolock) КЪДЕТО (SETID <> "ДЯЛ") и (Долна(CARRIER_ID) >= по-ниска(@MinId)) и (Долна(CARRIER_ID) <= по-ниска(@MaxId)) и (Долна(DESCR) КАТО по-ниски(@InputDescr)) ]]> </Имоти>
Е при условие че SQL от DBA човек и аз съм дал да се разбере, че това е Специални Изглед, те създават само за мен. Уникален ключ там е CARRIER_ID.
Тук е бъг, представих:
<Идентификатори> <Идентификатор Име="CARRIER_ID" TypeName="System.String" /> <Идентификатор Име="DESCR" TypeName="System.String" />
</Идентификатори>
Някъде по линията, Бих успяла да обърка себе си по смисъла на <Идентификатори> и добавя DESCR, въпреки че тя не е всъщност идентификатор. Взех DESCR на идентификатори набор и престо! Всичко работи.
I hope this saves someone some grief 🙂
Питер, Вие probalby за решаване на този до сега, Но моето предположение е, че той ще бъде свързан с определението на задния край. Може би самото SQL поле е ограничено до 60 символа? Нещо подобно?
Здравей,
Имам проблем с BDC, и аз се чудя, ако можете да помогнете с това?
Аз съм с две identifiier полета ( номер и описание поле), Когато общият брой на знаците надхвърля 60 Получавам грешки foollowing:
Невалиден текстова стойност
Текстово поле съдържа невалидни данни. Проверете стойността и опитайте отново.
Разбирате ли, когато това ограничаване на 60 герои идва от? и как да разрешите този проблем?
В момента аз съм ограничаване на описанието по такъв начин, че общият брой на знаците не повече 60.