【发布时间】:2011-06-10 15:22:13
【问题描述】:
这是一个多方面的问题,但感谢任何帮助
背景:
- 我有一个使用 SSO 的包含 6 个实体的应用程序定义
- 数据库后端是通过 ODBC 的 Firebird
- 所有数据都来自存储过程
问题:
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