caml 查询错误:text、ntext 和 image 数据类型无法进行比较或排序,除非使用 IS NULL 或 LIKE 运算符

发布于 2024-10-11 12:31:23 字数 998 浏览 1 评论 0原文

对共享点字段执行 orderby 时。生成以下错误:

无法比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。 描述:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:无法对 text、ntext 和 image 数据类型进行比较或排序,除非使用 IS NULL 或 LIKE 运算符。

CAML 查询 orderby 子句如下:

<Where>
  <And>
    <And>
      <Eq>
        <FieldRef Name='ContentType' />
        <Value Type='Choice'>Documents</Value>
      </Eq>
      <Eq>
        <FieldRef Name='UserID' />
        <Value Type='Text'>UserID_VAL</Value>
      </Eq>
    </And>
    <Neq>
      <FieldRef Name='Email' />
      <Value Type='Text'>NA</Value>
    </Neq>
  </And>
</Where>
<OrderBy>
  <FieldRef Name='Description' Ascending='TRUE'  Nullable='TRUE'/>
</OrderBy>

正在排序的字段是 Description,它在列表中具有以下数据类型 描述 单行文本。

这个问题的任何解决方案。

提前致谢。

When doing a orderby by for a sharepoint field. The error below is generated:

The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.

The CAML query orderby clause is as follows:

<Where>
  <And>
    <And>
      <Eq>
        <FieldRef Name='ContentType' />
        <Value Type='Choice'>Documents</Value>
      </Eq>
      <Eq>
        <FieldRef Name='UserID' />
        <Value Type='Text'>UserID_VAL</Value>
      </Eq>
    </And>
    <Neq>
      <FieldRef Name='Email' />
      <Value Type='Text'>NA</Value>
    </Neq>
  </And>
</Where>
<OrderBy>
  <FieldRef Name='Description' Ascending='TRUE'  Nullable='TRUE'/>
</OrderBy>

The field being sorted was Description and it has the following data type in the list
Description Single line of text.

Any solutions to this problem.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤云独去闲 2024-10-18 12:31:23

尝试使用多行列进行排序(注意)的 Caml 查询将并且应该产生以下错误:

“不能对 text、ntext 和 image 数据类型进行比较或排序,除非使用 IS NULL 或 LIKE 运算符。”

SharePoint MultiLine 或 Note 列以 ntext 数据类型存储在内容数据库的 AllUserData 表中。 SQL Server 无法使用 text、ntext 或 image 数据类型进行排序。解决此问题的唯一方法是不使用 CAML 中的排序功能并自行对返回的数据集进行排序。

http://social.msdn .microsoft.com/forums/en-US/sharepointdevelopment/thread/c7a1e8b7-62c0-4b90-8a9b-cc7e3fa6940c

Caml queries that try to sort using multiline columns (Note) will and should produce the following error:

"The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator."

SharePoint MultiLine or Note columns are stored in the AllUserData table in the content database as ntext data types. SQL Server is unable to sort using either text, ntext or image data types. The only way around this is to not use the sorting functionality in CAML and sort the returned dataset yourself.

http://social.msdn.microsoft.com/forums/en-US/sharepointdevelopment/thread/c7a1e8b7-62c0-4b90-8a9b-cc7e3fa6940c

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文