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

Json-Daten als Datasource zur Berichtserstellung dem Reportserver übergeben

Guten Tag,

ich habe ein Webservice, dem Json-Daten übergeben werden. Ich möchte nun diese Daten als DataSource dem ReportServer übergeben, damit der ReportServer
mit diesen Json-Daten einen Bericht erstellt und dem Webservice (als Stream) zurückgibt. Gibt es eine einfache Möglichkeit dem Reportserver diese neue Datenquelle für den Bericht zu übergeben? Hilft mir hier die Klasse SerializedDataProviderConfiguration bzw. auch rsClient.DataSources.NewDataSource(DataSourceTypes.SerializedDataProvider)
irgendwie weiter?

[HttpPost]
public async Task Post([FromForm] string data)
{
var fileStream = new MemoryStream();
using (ListLabel ll = new ListLabel())
{
JsonDataProvider dataProvider = new JsonDataProvider(data);
ll.DataSource = dataProvider;

    IReportServerClient rsClient = await ReportServer.ConnectAsync(serverUrl, options);

        var reportTemplates = await rsClient.ReportTemplates.GetAllAsync();
        var kundenTemplate = reportTemplates.Where(t => t.Name == "Kundenliste").FirstOrDefault();
        
    // Export mit kundenTemplate und jsonDaten? 
    // rsClient.Exporter.PrepareExport            
    ExportConfiguration exportConfiguration = new ExportConfiguration(LlExportTarget.Pdf, 
                 fileStream, ?);
    ll.Export(exportConfiguration);
}

return new FileStreamResult(fileStream, "application/pdf");

Vielen Dank für Ihre Rückmeldung.

Daniel Klostermann

Hallo!
Der Report Server kann sich seine Daten nur selbst holen. Man kann ihm soviel ich weiß keine Datenquelle “senden”.
Bei REST-Datenquellen kann man evtl. Datenquellen-Parameter nutzen, um hier ein dynamisches Ergebnis zu bekommen. Diese werden dann automatisch in Berichtsparameter umgesetzt,

Grüße
HP

Hallo,

danke für die Info, dann werde ich mein Problem wohl anders lösen müssen bzw. mir die Rest-Datenquellen nochmal ansehen.

MfG, Daniel

© combit GmbH