Я вызвал BDC ошибку на этой неделе, которая проявилась на интерфейсе пользователя и в 12 Журнал куст во время выполнения.
Первый, Это появилась в пользовательском интерфейсе:
Не удалось найти поля для вставки всех значений идентификаторов, необходимых для правильного выполнения SpecificFinder MethodInstance с именем … Убедиться, что входные параметры у TypeDescriptors, связанный с каждой идентификатором, определенный для этой сущности.
Вот снимок экрана:
Я также могла бы вызвать появление этого сообщения в 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, но они не были достаточно для меня понять, что я делаю неправильно. Я смотрел трансляции Тед Пэттисон Это моя Компания от squirreled на сервере и пришел реализовать мою проблему.
В моем ADF, Я подключение к базе данных SQL, как показано:
<Свойства Имя="RdbCommandText" Тип="System.String">
<![CDATA[
ВЫБОР МЕТОДА 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, КАРТОЧКЕ, ТЕЛЕФОН, РАСШИРЕНИЕ, ФАКС, 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 из набора идентификаторов и presto! Он работал.
Я надеюсь, что это спасает кого-то какое-то горе 🙂