2013-07-24 8 views
5

Ja, ich möchte SSRS-Bericht in die PDF exportieren und es von meiner Aktion, zurückgeben Ich habe keinen Bericht Viewer. Bitte schlagen Sie mir vor, wie kann ich dies erreichen. Bisher habe ich dies getanExportieren von SSRS-Bericht in PDF in MVC Aktion

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(); 
    } 

Above Code eine Ausnahme wirft

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

Meine Fragen sind
1) Bin ich in die richtige Richtung?
2) Gibt es eine bessere Alternative, um dies zu erreichen?

Antwort

7

Korrigierte ich den obigen Code und seinen Arbeits jetzt

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"); 
    } 

i ohne Verwendung von Report SSRS Bericht in MVC keine andere Alternative, als diese gefunden zu exportieren.

+0

Wie komme ich durch die Verwendung eines JoshYates1980

0

versuchen geben Sie die Domain nicht:

NetworkCredential nwc = new NetworkCredential("username", "password"); 
+0

Ja apolo90 korrekt, nur ein Beispielcode –

Verwandte Themen