Tôi gây ra một lỗi BDC tuần này biểu hiện bản thân trên giao diện người dùng và trong các 12 hive đăng nhập Tại thời gian chạy.
Đầu tiên, Điều này xuất hiện trong giao diện người dùng:
Không thể tìm thấy các lĩnh vực để chèn tất cả các giá trị định danh chính xác thực hiện một SpecificFinder MethodInstance với tên … Đảm bảo đầu vào tham số có TypeDescriptors liên kết với mỗi ký hiệu nhận dạng xác định cho tổ chức này.
Đây là một ảnh chụp màn hình:
Tôi cũng có thể gây ra các thông báo này xuất hiện trong các 12 hive đăng nhập tại sẽ (bằng cách sử dụng của tôi high-tech-don't-try-this-at-home cấp bằng sáng chế "lỗi bí ẩn" phương pháp):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C dữ liệu kinh doanh máy chủ SharePoint Portal 6q4x cao ngoại lệ trong BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Giá trị định danh ”, loại ”, không hợp lệ. Dự kiến giá trị định danh của loại 'System.String'. tại Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Đối tượng[] subIdentifierValues, LobSystemInstance lobSystemInstance) tại Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Thực thể thực thể, Đối tượng[] userValues, LobSystemInstance lobSystemInstance) tại Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Xem desiredView) tại Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() tại Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Tôi tìm kiếm xung quanh và tìm thấy một số dẫn trong các MSDN diễn đàn, nhưng họ không đủ cho tôi để hiểu những gì tôi đã làm sai. Tôi đã xem một webcast bởi Ted Pattison đó của tôi công ty có squirreled đi trên một máy chủ và đến để nhận ra vấn đề của tôi.
Trong ADF của tôi, Tôi đang kết nối với cơ sở dữ liệu SQL như được hiển thị:
<Bất động sản Tên="RdbCommandText" Loại="System.String">
<![CDATA[
CHỌN SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
QUỐC GIA, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, THÀNH PHỐ, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
QUẬN, NHÀ NƯỚC, BƯU CHÍNH, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, ĐIỆN THOẠI, PHẦN MỞ RỘNG, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG từ dbo.PS_CARRIER_ID_VW với (nolock)
NƠI
(SETID <> 'CHIA SẺ') và
(thấp hơn(CARRIER_ID) >= thấp(@MinId)) và
(thấp hơn(CARRIER_ID) <= thấp(@MaxId)) và
(thấp hơn(DESCR) THÍCH thấp(@InputDescr))
]]>
</Bất động sản>
Tôi đã được cung cấp đó SQL từ một DBA người và tôi cho hiểu rằng nó là một đặc biệt xem họ tạo ra chỉ cho tôi. Chìa khóa duy nhất có là CARRIER_ID.
Đây là lỗi tôi giới thiệu:
<Định danh>
<Định danh Tên="CARRIER_ID" TypeName="System.String" />
<Định danh Tên="DESCR" TypeName="System.String" />
</Định danh>
Một nơi nào đó dọc theo dòng, Tôi đã quản lý để nhầm lẫn bản thân mình hơn ý nghĩa của <Định danh> và thêm vào DESCR mặc dù nó không phải là thực sự là thông tin nhận dạng. Tôi đã DESCR ra khỏi các định danh thiết lập và presto! Nó tất cả đã làm việc.
Tôi hy vọng điều này sẽ giúp ai đó bớt đau buồn 🙂