接触Sharepoint以来,如何访问Sharepoint Lists数据是我一直头疼的事情,直到找到如下的方法。暂且称此方法是EnesysRSDataExtension。这种方法基于Web Service,创建报表时数据源是http://servername(例如:http://lingyanzhu:800),数据查询是XML语句。以下内容详细介绍此方法:
基于SQL Server 2005:
首先修改Report Server:
Copy Enesys.ReportingServices.SpExtension2005.dll in the directory <drive>\ Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin
修改配置文件<drive>\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin\RSReportServer.config,将如下代码加入该文件中:
<Data> <Extension Name="SQL" Type="Microsoft.ReportingServices.DataExtensions.SqlConnectionWrapper,Microsoft.ReportingServices.DataExtensions"/> … </Data>
再添加如下代码:
<Extension Name="ENESYSSPS" Type="Enesys.ReportingServices.SpExtension.Connection,Enesys.ReportingServices.SpExtension2005"/>
修改配置文件:<drive>\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\rssrvpolicy.config在URL membership "$CodeGen$/*"下面直接添加如下代码:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="c:\program files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin\Enesys.ReportingServices.SpExtension2005.dll"/> </CodeGroup>
其次修改Report Designer:
Copy Enesys.ReportingServices.SpExtension2005.dll in the directory <drive>\Program Files\ Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies.
修改配置文件<drive>\Program Files\ Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\RSReportDesigner.config. 添加如下代码:
<Data> <Extension Name="SQL" Type="Microsoft.ReportingServices.DataExtensions.SqlConnectionWrapper,Microsoft.ReportingServices.DataExtensions"/> … </Data>
再在该文件里添加如下代码:
<Extension Name="ENESYSSPS" Type="Enesys.ReportingServices.SpExtension.Connection,Enesys.ReportingServices.SpExtension2005"/>
修改配置文件 <drive>\Program Files\ Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config. 然后添加如下代码:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\Enesys.ReportingServices.SpExtension2005.dll" /> </CodeGroup>
到这里所有的配置工作已结束,接下来可以实施Report制作。
1. Create a new Report Project
2. Add New Data Source:
3. 选择Windows验证,然后点击OK
4. Add New Item and Add New Dataset
5. 点击run 按钮,会查到Target plan列表的所有输入项:
6. 点击refresh 按钮得到list的所有fields
到这里可以您就可以基于查询的字段设计具体的报表了。
有人会问这样得到的fields太多,如何获取指定的fields呢,这个也不难,请看下面说明:
在<fields>中指定特定字段,如下:
如何过滤数据:
作者介绍:
朱玲燕,北京迈思奇BI开发工程师,计算机及应用专业学士。
主攻ETL、OLAP建模、多维分析、报表开发、数据挖掘、.net开发等技术领域,具有丰富的BI项目开发和实施经验。 |