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.

Оставете отговор Питер Veenstra Отказване на отговора

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