2016-10-30 2 views
-2

meine Berichte (RDL-Datei) Öffnen der Datenmenge, lunche eine Prozedur von SQL Server 2014Mittagessen SSRS abrechnen programmatisch C#, ohne den Browser

i die Berichte programmatisch mit C#

i siehe lunche wollen die folgenden Schritte:

Webverweis zu den Endpunkten hinzufügen. Dann müssen wir den Bericht initialisieren, indem wir die LoadReport() -Methode aufrufen. Wenn der Bericht Parameter enthält, müssen wir ein Array von ParameterValue-Objekten deklarieren und auffüllen. Sobald die Parameter eingerichtet sind, können wir die SetExecutionParameters() -Methode aufrufen und sie in rsExec.SetExecutionParameters (executionParams, "en-us") übergeben.

ich kann nicht diese Schritte tun, weil ich die Parameter aus der Tabelle dbo.ExecutionLogStorage nehmen

und sein Aussehen wie:

=27%202%22016%2000%300%300&=26%210%22016%2000%300%300&__:=&__:=&__:=&__:=&__:=&___=96776&__:=&__:=&__:=&=%7%1%7........................ 

so ist es ein Problem, das Array Parametervalue-Objekt zu füllen (Abschnitt 3)

ABER, ich habe die uRL des Berichts, die uRL enthält alle Informationen über den Bericht der Parameter enthalten, wie folgt aussieht:

http://ServerAdress/ReportServer_Name/Pages/ReportViewer.aspx?/Reports/DealFile/DF_RPT11_AutonomyQuotaUtilization_Report&Year=2016&Summary=%D7%A9%D7%A0%D7%94:%C2%A0%C2%A0%C2%A02016&rc:Parameters=false

Ich habe versucht, die URL mit dem HttpClient zu starten, aber es funktioniert nicht.

Mit Fiddler habe ich festgestellt, dass, wenn ich die URL aus dem Browser lunch (und es luncht den Bericht), gibt es einige Anfragen und Antworten auf dem Hintergrund, bevor der Bericht tatsächlich lunches.

rate a kann Browser arbeiten nicht imitieren ....?

Ich muss den Bericht ausführen, ohne den Browser zu öffnen.

i so viele Möglichkeiten, versuchte, und im verzweifelt schon ...

jemand helfen kann?

Antwort

0

Sie können den ReportExecution2005-Endpunkt verwenden, um einen Bericht im HTML-Format (oder einem anderen Format) zu rendern und ihn jederzeit anzuzeigen. Dies kann natürlich ohne Browser erfolgen. Wie ich verstehe, verwenden Sie this MSDN article und Sie sind auf dem richtigen Weg. Sie können bestimmen, welche Parameter beim Öffnen des Berichts im Browser benötigt werden. Aber von URL zur Verfügung gestellt Sie kann ich sagen, dass die Parameter-Setup so sein sollte:

var parameters = new ParameterValue[2]; 
parameters[0] = new ParameterValue(); 
parameters[0].Name = "Year"; 
parameters[0].Value = "2016"; 
parameters[1] = new ParameterValue(); 
parameters[1].Name = "Summary"; 
parameters[1].Value = "שנה:   2016"; // ?! 

Die einzige Sache ist, dass decodierte URL ein bisschen kaputt aussieht, so sollten Sie besser den Bericht und seine Definition überprüfen, um zu wissen, was Die genauen Werte für den Parameter Zusammenfassung sind.

Verwandte Themen