Я выклікала BDC памылку на гэтым тыдні, што выявілася ў карыстацкім інтэрфейсе і ў 12 вулей часопіса падчас выканання.
Першы, Гэта з'явілася ў інтэрфейсе карыстальніка:
Не атрымалася знайсці палёў ўставіць ўсе значэння ідэнтыфікатара правільна выканаць SpecificFinder MethodInstance з імем … Пераканайцеся, уведзеных параметраў TypeDescriptors, звязаны з кожнай ідэнтыфікатар, вызначаны для дадзенага аб'екта.
Вось здымак экрана:
Я мог бы таксама Дадзенае паведамленне з'яўляецца ў 12 вулей часопіс па жаданні (using my patented high-tech-don’t-try-this-at-home "mysterious errors" метад):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Значэнне ідэнтыфікатара ”, Тыпу ”, з'яўляецца несапраўдным. Expected Identifier value of Type ‘System.String’. на Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Аб'ект[] subIdentifierValues, LobSystemInstance LobSystemInstance) на Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entity асобы, Аб'ект[] userValues, LobSystemInstance LobSystemInstance) на Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Паглядзець desiredView) на Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() на Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Я шукаў вакол і знайшоў некаторыя драты ў MSDN форум, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Тэд Паттисон што мая кампанія squirreled была далёка на сервер і зразумеў, мая праблема.
На мой ADF, Я падключэннем да базы дадзеных SQL, як паказана:
<Уласнасць Імя="RdbCommandText" Тып="System.String"> <![CDATA[ ВЫБАР , CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, Network_id, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD, КРАІНЫ, ADDRESS1, ADDRESS2, Address3, Адрас 4, ГОРАД, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3, Акругах, ДЗЯРЖАЎНЫ, ПАШТОВЫ, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, ТЭЛЕФОН, Распаўсюджванне, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR, INTERLINK_DLL, TMS_EXCLUDE_FLG (NOLOCK) ДЗЕ (SETID <> "Доля") і (знізіць(CARRIER_ID) >= Ніжняя(@ MiniD)) і (знізіць(CARRIER_ID) <= Ніжняя(@ MaxId)) і (знізіць(DESCR) Падобныя ніжэйшых(@ InputDescr)) ]]> </Уласнасць>
Я быў пры ўмове, што ад SQL DBA чалавек, і я даў зразумець, што гэта спецыяльны view they created just for me. The unique key there is CARRIER_ID.
Вось я прадставіў памылцы:
<Ідэнтыфікатары> <Ідэнтыфікатар Імя="CARRIER_ID" TypeName="System.String" /> <Ідэнтыфікатар Імя="DESCR" TypeName="System.String" />
</Ідэнтыфікатары>
Дзе-то ўздоўж лініі, Мне ўдалося заблытаць сябе над сэнсам <Ідэнтыфікатары> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! Усё гэта працавала.
I hope this saves someone some grief 🙂
Піцер, probalby вы вырашылі гэта цяпер, але я думаю, што яна будзе звязана з вызначэннем на заднім канцы. Можа быць, само поле SQL абмежаваны 60 сімвалы? Нешта накшталт гэтага?
Прывітанне,
У мяне ёсць праблема з BDC, і мне цікава, калі вы можаце дапамагчы з гэтым?
Я выкарыстоўваю два поля identifiier ( лік і апісанне палёў), калі агульная колькасць знакаў перавышае 60 Я атрымліваю памылкі foollowing:
Значэнне тэксту няправільна
Тэкставае поле ўтрымлівае няслушныя дадзеныя. Калі ласка, праверце значэнне і паспрабуйце зноў.
Вы разумееце, дзе гэта мяжа 60 сімвала адбываецца ад? і як вырашыць гэтую праблему?
У цяперашні час я абмяжоўваюць апісанне такім чынам, што агульная колькасць знакаў не перавышае 60.