Sharepoint业务数据列表行为

时间:2011-01-17 18:46:04

标签: sharepoint bdc

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

背景:

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

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

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

    3.如果我更改它以使过程的输出为空字符串,我突然得到“实体的title属性设置为无效值”

    4.更改为空字符串后日志中的错误是“异常传递给HandleXslException.HandleException System.ArgumentException:'。',十六进制值0x00,是无效字符” 是什么赋予了?昨晚它没有问题,直到出现一个字符串字段中有空值的记录。现在,即使用泛型替换null值仍然会给我title属性无效错误。

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

1 个答案:

答案 0 :(得分:0)

我遇到了这个确切的场景,它带回了一些愤怒/困惑的时刻。正如你在评论中所说:

  

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

在把它拿到金属上并发现了unicode问题之前,我花了几天的时间对计算机进行了咒骂。我甚至都不知道它什么时候发生了变化,但我们意识到了同样的事情,所有这一切都与世界再次对立。