Winforms 是否有任何解决方法可以让您在ReportViewer for VS 2012中显示远程SQL Server 2005 SSRS报告

Winforms 是否有任何解决方法可以让您在ReportViewer for VS 2012中显示远程SQL Server 2005 SSRS报告,winforms,reporting-services,visual-studio-2012,reportingservices-2005,Winforms,Reporting Services,Visual Studio 2012,Reportingservices 2005,我有一个.NET 4.5 Visual studio 2012 winforms项目,该项目应该使用Visual studio 2012 reportViewer控件显示相当多的SSRS 2005远程报告 显然,要在visual studio 2012中使用reportViewer显示远程报表,Reporting services报表服务器必须是SQL server 2008或更高版本。所以我被卡住了,想知道是否有解决办法,或者是否有可能在VS 2012项目中使用reportViewer for

我有一个.NET 4.5 Visual studio 2012 winforms项目,该项目应该使用Visual studio 2012 reportViewer控件显示相当多的SSRS 2005远程报告

显然,要在visual studio 2012中使用reportViewer显示远程报表,Reporting services报表服务器必须是SQL server 2008或更高版本。所以我被卡住了,想知道是否有解决办法,或者是否有可能在VS 2012项目中使用reportViewer for VS 2008

我得到的是

远程报表处理需要Microsoft SQL Server 2008 Reporting Services或更高版本

这就是我设置报告源的方式

private void SetReportParameters()
        {
            //Set Processing Mode
            reportViewer1.ProcessingMode = ProcessingMode.Remote;

            // Set report server and report path
            reportViewer1.ServerReport.ReportServerUrl = new Uri("http://Server/ReportServer");
            reportViewer1.ServerReport.ReportPath = "/MyApplicationReports/ReportName";

            ReportParameterInfoCollection pInfo = default(ReportParameterInfoCollection);
            System.Collections.Generic.List<ReportParameter> paramList = new System.Collections.Generic.List<ReportParameter>();

            paramList.Add(new ReportParameter("EmpID", OriginalEmployeeID.ToString(), false));
            reportViewer1.ServerReport.SetParameters(paramList);
            pInfo = reportViewer1.ServerReport.GetParameters();

            // Process and render the report
            reportViewer1.RefreshReport();

        }

或者可以先获取远程报告,然后将其转换为本地报告对象并在reportviewer中显示本地报告对象吗?

我找到了一个解决方案。我转到项目引用并删除了Visual studio 2012的Microsoft.ReportViewer.Common.dll和Microsoft.ReportViewer.WinForms.dll

然后,我重新添加了对visual studio 9(VS 2008)的Microsoft.ReportViewer.Common.dll和Microsoft.ReportViewer.WinForms.dll的引用,现在VS 2008的ReportViewer在VS 2012中工作

 private void EmployeeLeaveHistory_Load(object sender, EventArgs e)
    {
        SetReportParameters();
        this.reportViewer1.RefreshReport();
    }