解釋的 BDC 執行階段錯誤

我引起體現使用者介面上,並在一個 BDC 錯誤這一周 12 配置單元日誌 在運行時.

第一次, 這似乎在使用者介面中:

找不到要插入的所有識別碼值正確執行,具有名稱的 SpecificFinder MethodInstance 欄位 … 確保輸入的參數都有與為此實體定義每個識別碼關聯的 TypeDescriptors.

這裡是一個螢幕擷取畫面:

clip_image001

我也可能導致該消息出現在 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" /> 
</識別碼>

地方線沿線, 我曾設法迷惑自己的意思 <識別碼> 添加描述,即使它不是實際上的識別碼. 我從識別碼設置,就可以了描述! 它所有的工作.

我希望這可以為某人節省一些痛苦🙂

Technorati 標籤: , , ,

2 上“的想法解釋的 BDC 執行階段錯誤

  1. 保羅 · 高爾文

    彼得 ·, 現在解決這你 probalby, 但我的猜測是它會在後端的定義與相關. 也許 SQL 欄位本身僅限於 60 字元數? 這樣的東西?

    答覆
  2. 彼得 · Veenstra

    你好,

    BDC 的問題得了。, 我不知道你是否能幫這個?

    我用兩個 identifiier 欄位 ( 數量和說明欄位), 每當總字元數超過 60 Foollowing 錯誤得到了。:

    不正確文本值

    一個文字欄位包含無效資料. 請檢查值,並再試一次.

    你明白這其中限制的 60 字元來自? 以及如何修復此問題?

    目前我限制在這種描述的字元總數不能超過一種方式 60.

    答覆

離開一個答覆 彼得 · Veenstra 取消回复

您的電子郵件地址不會被公開. 必需的地方已做標記 *