+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Custom DataProvider

Hallo,
Ist es möglich einen Custom DataProvider zu implementieren der von dem normalen StandardSQL Provider ableitet, sich genauso verhält allerdings vor der Erstellung des Berichts einen der übergebenen Berichtsparameter ausließt und diesen manipuliert und wieder als Berichtsparameter hinterlegt oder auch einen neuen Berichtsparameter hinzufügt?
Hintergrund. Wir würden den Reportserver gern unseren Kunden zur Generierung von Berichten zur Verfügung stellen. Hierfür ist es wichtig, dass jeder Kunde nur die Daten sieht die er auch tatsächlich sehen darf. Wir wollen lediglich die API einsetzen, der Kunde wird sich niemals am Reportserver UI anmelden.
Der Ansatz: Bei der Übergabe der Parameter wird ebenfalls ein Bearer Token mit übergeben welches der Kunde von der Anwendung erhalten hat für die er einen Report erstellen möchte. Dieses Token muss vor der Generierung der Berichte geparst und in eine der Datenbank bekannte ID umgewandelt werden.
Danke für euere Hilfe
Kai

Hallo,

Berichtsparameter in List & Label lassen sich zur Laufzeit mit Hilfe von DOM manipulieren. Hierzu gibt es auch einen interessanten Artikel hier:

Berichtsparameter zur Laufzeit für den Druck/Export modifizieren/ändern

Wenn es ein eigener DataProvider sein sollte, der in/mit LL geschrieben wurde, wird er aber vermutlich keinen Zugriff auf das zu druckende Projekt haben und somit auch keinen Einfluss auf die Berichtsparameter im Bericht.

Aber in der REST API des Report Servers kann man Berichtsparameter vorbelegen - vielleicht hilft das ja schon als weiterer Ansatz? Hier im Blog-Post ist ein Beispiel enthalten:
Report Server 25: Features und Verbesserungen Teil 1

Hallo,
Den Ansatz mit der REST API habe ich auch schon implementiert. Er würde funktionieren, ist aber nicht besonders performant und die eigentlichen Stärken von List&Label gehen hier verloren. Nichtdestotrotz kann der REST Datenprovider aber offenbar schon die Berichtsparameter zur Laufzeit auslesen und so die URL manipulieren das beispielsweise gefilterte Daten über die REST API ausgelesen werden, warum sollte das also nicht auch bei einer Custom Implementierung eines SQLConnectionDataProviders gehen?

© combit GmbH