BDC runtime грешка обяснено

Аз предизвиква грешка на BDC тази седмица, който се проявява в потребителския интерфейс и в 12 кошер регистър по време на изпълнение.

Първо, Това се появява в потребителския интерфейс:

Не можа да намери полета за вмъкване на всички стойности на идентификатора, за да се изпълни правилно MethodInstance на SpecificFinder с име … Осигуряване на входните параметри имат TypeDescriptor, асоциирани с всеки идентификатор, дефиниран за този обект.

Тук е параван сачми:

clip_image001

Аз също може да доведе до това съобщение да се появи в 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 🙂

Technorati тагове: , , ,

2 мисли за "BDC runtime грешка обяснено

  1. Пол Galvin

    Питер, Вие probalby за решаване на този до сега, Но моето предположение е, че той ще бъде свързан с определението на задния край. Може би самото SQL поле е ограничено до 60 символа? Нещо подобно?

  2. Питер Veenstra

    Здравей,

    Имам проблем с BDC, и аз се чудя, ако можете да помогнете с това?

    Аз съм с две identifiier полета ( номер и описание поле), Когато общият брой на знаците надхвърля 60 Получавам грешки foollowing:

    Невалиден текстова стойност

    Текстово поле съдържа невалидни данни. Проверете стойността и опитайте отново.

    Разбирате ли, когато това ограничаване на 60 герои идва от? и как да разрешите този проблем?

    В момента аз съм ограничаване на описанието по такъв начин, че общият брой на знаците не повече 60.

Оставете отговор

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *