Wie kombinieren Sie mehrere Ergebnismengen in SSRS?

8

Was ist der beste Weg, um Ergebnismengen aus verschiedenen Datenquellen in SSRS zu kombinieren?

In meinem speziellen Beispiel muss ich einen Bericht schreiben, der Daten aus SQL Server abruft und sie mit anderen Datensätzen aus einer DB2-Datenbank kombiniert. Am Ende muss ich diese separaten Datensätze zusammenfügen, so dass ich einen kombinierten Datensatz mit Daten aus beiden Quellen kombiniert in denselben Zeilen habe. (Wie ein innerer Join, wenn beide Tabellen aus derselben SQL DB stammen). Ich weiß, dass Sie dies in SSRS 2005 nicht "out of the box" tun können. Ich bin nicht begeistert, dass ich die Daten in eine temporäre Tabelle in meiner SQL-Box ziehen muss, da Benutzer diesen Bericht bei Bedarf ausführen müssen und es scheint, als ob man SSIS verwenden muss, um die Daten in die Tabelle auf Anforderung zu bekommen, wird langsam und schwer zu verwalten sein, wenn mehrere Benutzer gleichzeitig versuchen, auf den Bericht zuzugreifen. Gibt es andere, elegantere Lösungen?

Ich weiß, dass die unten erwähnte Linked-Server-Lösung technisch funktionieren würde. Aus irgendeinem Grund erlauben uns unsere DBAs jedoch nicht, verbundene Server zu verwenden.

Ich weiß, dass Sie einem Bericht zwei verschiedene Datensätze hinzufügen können, ich muss sie jedoch zusammenfügen können. Hat jemand Ideen, wie man das am besten erreicht?

    
Joe Barone 29.08.2008, 21:17
quelle

5 Antworten

5

Wir mussten etwas Ähnliches tun (d. h. inner join 2 Datenquellen von verschiedenen Servern). Ich glaube, der beste Weg ist, Ihre eigene benutzerdefinierte Datenerweiterung zu schreiben. Es ist nicht sehr schwierig, und es würde Ihnen die Fähigkeit geben, dies und mehr zu tun.

    
Exacto 17.09.2008, 13:34
quelle
3

Sie könnten die DB2-Datenbank als Verbindungsserver in sql server hinzufügen und einfach die beiden Tabellen in einer Ansicht / sproc in sql verbinden. Ich habe es getan, es ist nicht schwer und Sie erhalten Daten in Echtzeit.

    
Booji Boy 30.08.2008 04:23
quelle
2

Sie könnten einen Verbindungsserver erstellen, der direkt auf die Datenbank zugreift, oder wenn Sie die Datenbank während der Geschäftszeiten nicht belasten möchten, können Sie einen Job erstellen, um die Daten über Nacht zu kopieren.

    
Ali Muwwakkil 04.03.2009 17:43
quelle
1

Mit SSRS 2005 können Sie mehrere Datensätze für einen Bericht erstellen. Jeder Datensatz kann sich auf eine andere Datenquelle beziehen, einer kann aus einer SQL-DB stammen, ein anderer kann eine ODBC-Quelle sein usw.

Wechseln Sie in der Berichtsdesigneransicht in Visual Studio zur Registerkarte "Daten" und fügen Sie neue Datenquellen hinzu, die auf Ihre verschiedenen Datenbanken verweisen. Wenn Sie fertig sind, müssen Sie beim Erstellen des Berichts für jedes Element explizit angeben, aus welchem ​​Dataset die Daten stammen.

Wenn das oben genannte nicht funktioniert, können Sie verwalteten Code schreiben, siehe Ссылка für mehr hilfreiche Informationen und Videos.

    
moza 29.08.2008 21:51
quelle
0

Sie können sowohl die MSSQL-Tabellen als auch die DB2-Tabellen an eine Jet-Datenbank anfügen und Ihren Bericht an die Jet-Datenbank binden. Ich kenne die Implikationen der Single-Thread-Natur von Jet nicht, oder wie viel Arbeit an die Back-Stores delegiert würde.

    
Peter Wone 17.09.2008 05:23
quelle

Tags und Links