解释一个 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 取消回复

您的电子邮件地址不会被公开. 必需的地方已做标记 *