2010-11-17 54 views
3

我正在做SSRS从两个SharePoint列表中检索数据。一个是观看部分,另一个是过滤部分。 这很容易在SQLServer数据库数据源上完成,但是如何使用SharePoint列表实现?如何使用CAML查询过滤SharePoint列表?

以下是我的查询: @name是从另一个列表中检索的报表参数。

<Query> 
<Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems"> 
     <Parameters> 
      <Parameter Name="listName"> 
       <DefaultValue>{D5D33A07-D1CA-440F-8A6B-912B9CE5BB2F}</DefaultValue> 
      </Parameter> 
      <Parameter Name="rowLimit"> 
       <DefaultValue>9999</DefaultValue> 
      </Parameter> 
      <Parameter Name="viewName"> 
       <DefaultValue>{F5459664-7C2F-4618-81FC-F2275FB2FBCF}</DefaultValue> 
      </Parameter> 
     </Parameters> 
</Method> 
<Where> 
    <Eq> 
     <FieldRef Name='ows_Firstname' /> 
     <Value Type='Text'>@name</Value> 
    </Eq> 
</Where> 
    <ElementPath IgnoreNamespaces="true">GetListItemsResponse/GetListItemsResult/listitems/data/row{@ows_EmployeeID,@ows_Firstname,@ows_Lastname,@ows_Department}</ElementPath> 
<SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction> 
</Query> 

请帮忙。

+0

什么版本的SharePoint,什么版本的SQL Server? – 2010-11-17 10:27:44

+0

我有SQL Server 2005 + MOSS 2007. – janejanejane 2010-11-18 01:32:31

回答

1

简,你有两个选择:

  1. 的SQL Server 2008 R2自带Sharepoint List Connection type (see link for tutorial)其中连接是使用SQL数据源一样简单。

  2. 如果您不幸并且无法访问该连接类型,则可以使用Sharepoint Web服务(特别是lists.asmx服务)来进行XML查询。请参阅本教程:SQL Reporting Services data from SharePoint lists

+0

嗨moontear,我使用Lists.asmx服务。现在,我想要做的是通过从另一个列表中传递另一个数据(放置在变量中,例如@name参数)来过滤查询。我似乎无法找到关于此的详尽教程。 – janejanejane 2010-11-18 01:31:39

相关问题