நான் பயனர் இடைமுகம் மற்றும் தன்னை வெளிப்படுத்தி என்று இந்த வாரம் ஒரு BDC பிழை 12 hive log at runtime.
முதல், இந்த பயனர் இடைமுகம் தோன்றினார்:
அனைத்து அடையாளங்காட்டி கலாச்சாரம் நுழைக்க துறைகள் சரியாக பெயர் ஒரு SpecificFinder MethodInstance இயக்க கண்டுபிடிக்க முடியவில்லை … Ensure input Parameters have TypeDescriptors associated with every Identifier defined for this Entity.
இங்கே ஒரு திரை ஷாட் தான்:
I could also cause this message to appear in the 12 hive log at will (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: The Identifier value ”, of Type ”, is invalid. Expected Identifier value of Type ‘System.String’. at Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Object[] subIdentifierValues, LobSystemInstance lobSystemInstance) at Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entity entity, Object[] userValues, LobSystemInstance lobSystemInstance) at Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(காட்சி desiredView) Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance மணிக்கு() Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties மணிக்கு()
நான் சுற்றி தேடிய மற்றும் சில தடங்கள் காணப்படவில்லை எம்எஸ்டிஎன் மன்றம், 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[ SELECT , CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD, COUNTRY, முகவரி 1, முகவரி 2, ADDRESS3, ADDRESS4, நகரம், NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3, COUNTY, மாநிலம, தபால் அலுவலகம் சார்ந்த, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, தொலைபேசி, விரிவாக்கம், தொலைநகல், LAST_EXP_CHK_DTTM, FREIGHT_VENDOR, INTERLINK_DLL, TMS_EXCLUDE_FLG FROM dbo.PS_CARRIER_ID_VW WITH (nolock) WHERE (SETID <> 'SHARE') மற்றும் (lower(CARRIER_ID) >= lower(@MinId)) மற்றும் (lower(CARRIER_ID) <= lower(@ MaxId)) மற்றும் (lower(DESCR) LIKE lower(@InputDescr)) ]]> </சொத்து>
I was provided that SQL from a DBA person and I’m given to understand that it’s a விசேஷமான view they created just for me. The unique key there is CARRIER_ID.
Here is the bug I introduced:
<Identifiers> <Identifier பெயர்="CARRIER_ID" TypeName="System.String" /> <Identifier பெயர்="DESCR" TypeName="System.String" />
</Identifiers>
எங்காவது வரி சேர்த்து, I had managed to confuse myself over the meaning of <Identifiers> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! It all worked.
I hope this saves someone some grief 🙂
Pieter, you probalby solved this by now, but my guess is that it would be related to the definition on the back end. Maybe the SQL field itself is limited to 60 chars? Something like that?
Hi,
I’ve got an issue with a BDC, and I wonder if you can help with this?
I’m using two identifiier fields ( a number and a description field), whenever the total number of characters exceeds 60 I’m getting the foollowing errors:
Invalid text value
A text field contains invalid data. Please check the value and try again.
Do you understand where this limit of 60 characters comes from? and how to fix this issue?
Currently I’m limiting the description in such a way that the total number of characters doesn’t exceed 60.