მე გამოწვეული BDC შეცდომა ამ კვირაში, რომ გამოიხატება თავად ინტერფეისი და 12 hive ჟურნალი at runtime.
პირველი, ამ გამოჩნდა ინტერფეისი:
ვერ იპოვა სფეროებში ჩასასმელი ყველა იდენტიფიკატორი ღირებულებები სწორად შესრულდეს SpecificFinder MethodInstance ერთად სახელი … დარწმუნდით შეტანის პარამეტრები აქვს TypeDescriptors ასოცირდება ყოველ იდენტიფიკატორი განისაზღვრება ამ პირის.
აქ ეკრანზე დარტყმას:
მე შეიძლება გამოიწვიოს ამ გზავნილის გამოჩნდება 12 hive ჟურნალი სურვილისამებრ (using my patented high-tech-don’t-try-this-at-home "საიდუმლო შეცდომები" მეთოდი):
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(პირი პირი, ობიექტის[] 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 ტედ Pattison რომ ჩემი კომპანია აქვს squirreled მოშორებით სერვერზე და მოვიდა ესმოდეს ჩემი პრობლემა.
ჩემი ADF, მე დამაკავშირებელი SQL მონაცემთა ბაზაში, როგორც ნაჩვენებია:
<ქონების სახელი="RdbCommandText" გაცნობის="System.String">
<![CDATA[
SELECT
, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
ქვეყანა, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, ქალაქი, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
COUNTY, სახელმწიფო, საფოსტო, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, ტელეფონი, EXTENSION, ფაქსი, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG
(nolock)
WHERE
(Leas <> წილი ') და
(დაწევა(CARRIER_ID) >= ქვედა(@ MinID)) და
(დაწევა(CARRIER_ID) <= ქვედა(@ MaxId)) და
(დაწევა(DESCR) LIKE ქვედა(@ InputDescr))
]]>
</ქონების>
მე იმ პირობით, რომ SQL ეხლა DBA პირი და მე მოცემული უნდა გვესმოდეს, რომ ეს სპეციალური view they created just for me. The unique key there is CARRIER_ID.
აქ არის bug გავაცანი:
<იდენტიფიკატორების>
<განსაზღვრა სახელი="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 🙂