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?
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.
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.
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.
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.
Tags und Links reporting-services