代码之家  ›  专栏  ›  技术社区  ›  Sarah Vessels

使用报表生成器2.0从SharePoint查询数据:缺少字段

  •  3
  • Sarah Vessels  · 技术社区  · 15 年前

    我正在使用SQL Server 2008和Report Builder 2.0尝试从SharePoint列表中查询数据,如中所述。 this tutorial . 报表设置为使用连接字符串设置为的XML数据源 http://mySharepointSite/_vti_bin/lists.asmx .

    但是,我似乎无法从SharePoint列表中获取所有字段,即使我指定了一个视图,该视图专门包含我想要的字段,并且不再包含这些字段。根据我如何操作查询,我似乎 任何一个 发布字段或主题字段,但不能同时使用两者。这是我现在的问题:

    <Query><SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>
       <Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">
          <Parameters>
             <Parameter Name="listName">
                <DefaultValue>{8529D70B-D632-4CC8-A1E7-2C25F29BE1E0}</DefaultValue>
             </Parameter>
             <Parameter Name="viewName">
                <DefaultValue>{2FC6AA42-EA95-4C18-AB07-33E25EBBA85D}</DefaultValue>
                <ViewFields>
                   <FieldRef Name="Resolve_x0020__x0023_" />
                   <FieldRef Name="Product" />
                   <FieldRef Name="Release" />
                   <FieldRef Name="Theme" />
                   <FieldRef Name="Pre_x002d_Req_x0020_Estimate" />
                </ViewFields>
             </Parameter>
          </Parameters>
       </Method>
       <ElementPath IgnoreNamespaces="True">*</ElementPath>
    </Query>
    

    当我使用报表生成器3.0及其内置的SharePoint列表数据源类型进行测试时,它能够在我的列表中看到主题和发布字段。但是,当我没有得到给定列表和视图中的所有字段时,是否有人知道ReportBuilder2.0发生了什么?

    更新: 回答Nelsonwebs的问题:

    1. “该列表是否包含一个InfoPath表单?”I.…不知道?它看起来只包含文本数据。
    2. “如何将列表数据输入列?”我不知道你在问什么。SharePoint中的数据是由其他人输入的,我想他们只是使用常规的SharePoint方法(向列表中添加一个新项目)。
    3. “是否自定义了列表,如添加/调整内容类型?”这是一个已经在我们的SharePoint网站上出现了一段时间的列表,它被定制为具有字段类型,如数字、多行文本和选项,但我认为这些只是默认的SharePoint类型。
    1 回复  |  直到 15 年前
        1
  •  1
  •   Sarah Vessels    15 年前

    金晨过来 Microsoft Forums 为我找到了解决方案。显然,当一个字段有一个空值时,即使该字段在您想要的视图中,它也不会返回该字段。诀窍是显式列出要在 ElementPath 标签:

    <ElementPath IgnoreNamespaces="true">
        GetListItemsResponse/GetListItemsResult/listitems/data/row{@field1,@field2,@field3,@field4}
    </ElementPath>