【问题标题】:Sharepoint Business Data List BehaviorSharepoint 业务数据列表行为
【发布时间】:2011-06-10 15:22:13
【问题描述】:

这是一个多方面的问题,但感谢任何帮助

背景:

  1. 我有一个使用 SSO 的包含 6 个实体的应用程序定义
  2. 数据库后端是通过 ODBC 的 Firebird
  3. 所有数据都来自存储过程

问题:

1 在尝试在业务数据列表 Web 部件中实施 BDC 中的一个或任何实体时,我收到以下错误:“从 . 检索数据时发生错误。管理员,请参阅服务器日志以获取更多信息。”只有当我的字段为空时才会发生这种情况,在这种情况下,字段被声明为字符串。

2.当我检查日志时,它是 System.OverFlowException。

3.如果我改变它,使程序的输出是一个空白字符串,我突然得到“实体的标题属性设置为无效值”

4. 改成空字符串后的日志错误为“异常交给HandleXslException.HandleException System.ArgumentException: '.', 16进制值0x00, is an invalid character” 是什么赋予了?昨晚它工作没有问题,直到出现在其中一个字符串字段中具有空值的记录。现在,即使用通用的东西替换空值仍然会给我标题属性无效错误。

最令人费解的是:如果我更改查询以使带有空字符串或空白字符串的行不在查询中,错误就会消失。但是,如果我将它们添加回来并用任何内容替换空字符串,错误就会回来。什么!@#$?在记录返回到 XmlReader 之前,它如何知道我已将空值替换为其他值?

【问题讨论】:

  • 万一其他人遇到这个问题:我将所有 varchar 和 char 输出的编码设置为 unicode 并修复它。缺少编码导致该列出现空字符(不是空记录,而是一个空字符),Sharepoint 无法解析该字段。更改了编码,一切正常。

标签: sharepoint bdc


【解决方案1】:

我遇到过这种情况,它让我想起了一些愤怒/困惑的时刻。正如您在评论中所说:

我在所有 varchar 和 char 输出上将编码设置为 unicode,并对其进行了修复。缺少编码导致该列出现空字符(不是空记录,而是一个空字符),Sharepoint 无法解析该字段。更改了编码,一切正常。

我花了几天的时间对电脑发誓,然后我们才发现它的 unicode 问题。我什至不知道它是什么时候改变的,但我们意识到同样的事情,世界又恢复了正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-30
    • 2016-05-05
    • 1970-01-01
    • 2014-09-20
    • 2010-10-15
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    相关资源
    最近更新 更多