ನಾನು ಬಳಕೆದಾರ ಸಂಪರ್ಕಸಾಧನವನ್ನು ಮತ್ತು ಬಿಂಬಿತವಾಗಿದೆ ಈ ವಾರ ಒಂದು 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 ನಲ್ಲಿ(ಎಂಟಿಟಿ ಘಟಕದ, ಉದ್ದೇಶ[] 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, ನೆಟ್ವರ್ಕ್, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
COUNTRY, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, ನಗರ, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
COUNTY, ರಾಜ್ಯ, ಅಂಚೆಯ, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, PHONE, EXTENSION, ಫ್ಯಾಕ್ಸ್, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG
(nolock)
WHERE
(Leas <> 'ಹಂಚಿಕೊಳ್ಳಿ') ಮತ್ತು
(ಕಡಿಮೆ(CARRIER_ID) >= ಕಡಿಮೆ(@ MinID)) ಮತ್ತು
(ಕಡಿಮೆ(CARRIER_ID) <= ಕಡಿಮೆ(@ MaxId)) ಮತ್ತು
(ಕಡಿಮೆ(DESCR) ಕಡಿಮೆ ಇಂಟೀರಿಯರುಗಳು(@ InputDescr))
]]>
</ಆಸ್ತಿ>
ನಾನು DBA ವ್ಯಕ್ತಿಯಿಂದ ಎಂದು SQL ಒದಗಿಸಲಾಯಿತು ಮತ್ತು ನಾನು ಅದನ್ನು ತಿಳಿದುಕೊಳ್ಳಬೇಕಾಗಿದೆ ನೀಡಿದ ಬಾಗುತ್ತೇನೆ ಒಂದು ವಿಶಿಷ್ಟವಾದ 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! ಇದು ಎಲ್ಲಾ ಕೆಲಸ.
ಇದು ಯಾರಿಗಾದರೂ ಸ್ವಲ್ಪ ದುಃಖವನ್ನು ಉಳಿಸುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ 🙂