2013-07-24 34 views
5

Có, tôi muốn Xuất Báo cáo SSRS sang PDF và Trả lại từ hành động của tôi, Tôi không có Trình xem Báo cáo. Vui lòng Đề xuất cho tôi cách tôi có thể đạt được điều này. cho đến nay tôi đã làm điều nàyXuất Báo cáo SSRS sang PDF trong MVC Hành động

public void SqlServerReport() 
    { 
     NetworkCredential nwc = new NetworkCredential("username", "password", "domain"); 
     WebClient client = new WebClient(); 
     client.Credentials = nwc; 
     string reportURL = "http://servername/ReportServer/reportfolder/StateReport&rs:Command=Render&rs:Format=PDF"; 
     Byte[] pageData = client.DownloadData(reportURL); 
     Response.ContentType = "application/pdf"; 
     Response.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now); 
     Response.BinaryWrite(pageData); 
     Response.Flush(); 
     Response.End(); 
    } 

Trên đang ném một ngoại lệ

"The remote server returned an error: (401) Unauthorized." 

Câu hỏi của tôi là
1) Am i đi theo đúng hướng?
2) Có phương án nào tốt hơn để đạt được điều này không?

Trả lời

7

tôi Sửa chữa các mã trên và bây giờ làm việc của nó

public ActionResult GetPdfReport() 
    { 
     NetworkCredential nwc = new NetworkCredential("username", "password"); 
     WebClient client = new WebClient(); 
     client.Credentials = nwc; 
     string reportURL = "http://someIp/ReportServer/?%2fReportProjectName/ReportName&rs:Command=Render&rs:Format=PDF"; 
     return File(client.DownloadData(reportURL), "application/pdf"); 
    } 

tôi không tìm thấy bất kỳ thay thế khác hơn thế này để xuất khẩu SSRS Report trong MVC mà không sử dụng ReportViewer.

+0

Tại sao tôi không nhận được một 401 bằng cách sử dụng một