当前位置:首页 > 在ASP.NET中访问SQL 2005报表服务

在ASP.NET中访问SQL 2005报表服务

点击次数:1026  更新日期:2010-12-27
\n

在ASP.NET中,有多种方法可以访问SQL 2005的报表服务。


\n

方法一: 通过ReportView控件


\n

首先,安装ReportView控件。如果你使用的是SQL 2000报表服务器,到这个目录去找到源码工程 C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Reporting Services\\Samples\\Applications\\ReportViewer\\vb and C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Reporting Services\\Samples\\Applications\\ReportViewer \\cs,然后自己去编译。


\n

如果你直接使用SQL 2005的报表服务器,只要安装时选择了work station,就会自动安装上这个控件。不需要自己编译了。


\n

在你的ASP.NET工程中,新建一个web page,加入一个ReportView控件ReportViewer1。


\n

修改ReportServerUrl和ReportPath两个属性:


\n

ReportServerUrl=http://ctc-bar:81/reportserver (ctc-bar是你的报表服务器的名字,我这里因为使用的是端口81,所以加上了:81)


\n

ReportPath=/Barreports/EBCdetaillist (/Barreports/EBCdetaillist是你的报表所在路径,注意最前面的/)


\n

现在,你已经可以使用这个报表了。运行你的程序,在ReportView的位置出现了报表,和从URL访问一抹一样。


\n

现在,我要对报表的输入参数作些工作,我的报表里有两个时间参数,开始时间和结束时间。如果直接在文本输入框输入2007-1-1,非常不方便。我希望从web page上加一个日期选择的控件来代替直接输入日期。


\n

这需要两步:


\n

1 将ShowParameterPrompts设置为false. 即关闭报表服务器提供的参数输入区域。


\n

2 在web page上增加START DATE和END DATE两个日期控件,和一个VIREW REPORT的按钮。


\n

在VIREW REPORT按钮的CLICK事件中,将日期控件的值用SetParameters方法传递给服务器。类似于


\n

Parameters[0] =


\n

Parameters[1] =


\n

DateTime StartDate = System.Convert.ToDateTime(TextBoxStartDate.Value);DateTime EndDate = System.Convert.ToDateTime(TextBoxEndDate.Value);ReportParameter[] Parameters = new ReportParameter[2];new ReportParameter(“startdate”, StartDate.ToShortDateString());new ReportParameter(“enddate”, EndDate.ToShortDateString());this.ReportViewer1.ServerReport.SetParameters(Parameters);


\n


网上这个地址有更加详细的讲解


\n

http://www.dreams.idv.tw/~code6421/Doc/SqlRepSvc2.pdf


\n

方法二: 通过调用SQL 2005的Web services


\n

这种方法适合建立自己的报表解决方案,如改善报表参数的UI界面,提供漂亮的报表导航界面界面等。


\n

具体可以参考下文


\n

http://www.codeproject.com/sqlrs/SQLRSViewer.asp


\n

来源:http://blog.csdn.net/yanwei100/archive/2007/02/25/1514008.aspx

\n