我引起體現使用者介面上,並在一個 BDC 錯誤這一周 12 配置單元日誌 在運行時.
第一次, 這似乎在使用者介面中:
找不到要插入的所有識別碼值正確執行,具有名稱的 SpecificFinder MethodInstance 欄位 … 確保輸入的參數都有與為此實體定義每個識別碼關聯的 TypeDescriptors.
這裡是一個螢幕擷取畫面:
我也可能導致該消息出現在 12 配置單元日誌中的,將 (使用我的專利的 high-tech-don't-try-this-at-home "神秘的錯誤" 方法):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0在 BusinessDataWebPart.OnPreRender x0B8C SharePoint 門戶伺服器業務資料 6q4x 高異常: System.InvalidOperationException: 識別碼值 ”, 類型的 ”, 是不正確. 預期的識別碼值的類型 '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 論壇, 但是他們並沒有足以讓我明白自己在做什麼錯. 我看過網路的廣播 泰德帕蒂森 那我 公司 伺服器和來實現我的問題上存了.
在我的 ADF, 我連接到 SQL 資料庫,如圖所示:
<屬性 名稱="RdbCommandText" 類型="System.String">
<![CDATA[
選擇 SETID, CARRIER_ID, EFFDT, 描述, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
國家, 位址 1, 位址 2, 位址 3, ADDRESS4, 城市, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
縣, 狀態, 郵政, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, 電話, 擴展, 傳真, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG 從 dbo.PS_CARRIER_ID_VW 與 (nolock)
在哪裡
(SETID <> 份額) 和
(較低(CARRIER_ID) >= 低(@MinId)) 和
(較低(CARRIER_ID) <= 低(@MaxId)) 和
(較低(描述) 喜歡低(@InputDescr))
]]>
</屬性>
我提供了該 SQL 從一個 DBA 人,據我所瞭解,它是 特別 他們只是為我創建視圖. 有唯一的鍵是 CARRIER_ID.
這裡是我介紹的 bug:
<識別碼>
<識別碼 名稱="CARRIER_ID" TypeName="System.String" />
<識別碼 名稱="描述" TypeName="System.String" />
</識別碼>
地方線沿線, 我曾設法迷惑自己的意思 <識別碼> 添加描述,即使它不是實際上的識別碼. 我從識別碼設置,就可以了描述! 它所有的工作.
我希望這可以為某人節省一些痛苦🙂