Reporting mit Oracle-Daten
Wenn man schon über ein schönes Reporting Tool verfügt, sollte man dies auch ruhig mit Oracle-Datenbanken einsetzen, oder?
Hier stehen zwei Wege zur Verfügung:
- Verbindungsserver auf SQLServer
- OLEDB-Abfrage direkt gegen Oracle
Im folgenden soll nur der zweite Weg behandelt werden, da nur hier die Besonderheiten von Oracle zum tragen kommen.
Installationsbesonderheiten
Hierfür ist die Installation des Oracle-Clients auf dem Reporting-Server notwendig und die Vergabe der Berechtigungen für den Network Service, damit dieser Client genutzt werden kann. Bei der Installation ist darauf zu achten, dass auch der OLEDB-Treiber installiert und registriert wird. Man kann dies testen, durch ein kleines Beispielprojekt im VisualStudio, welches direkt auf dem Server geöffnet wird und versucht diesen Treiber zu verwenden.
Mehr Infos zu den Berechtigungen findet man hier:
Reporting Services may not be able to run reports against Oracle databases: Knowledgebase-Artikel
Parameter
Bei der Verwendung von Parametern für Berichte werden benannte Parameter (z. B. @Auswertungsdatum) nicht unterstützt und müssen als unbenannte positionsabhängige Parameter verwendet werden. Im SQL wird anstelle des Parameters einfach ein ? eingesetzt. In den Berichtsparametern, kann anschliessend die Definition dieser Parameter bearbeitet werden. Typischerweise erhalten diese Namen wie:
- Parameter1
- Parameter2
Beispiel:
Select * from Tabelle where Name like ?
Stored Procedures
Damit der Output von Stored Procedures verwendet werden kann, müssen einige Vorbedingungen zutreffen:
- Die Zeilen müssen per OUT REF CURSOR zurückgegeben werden
- SSRS kann nur einen Cursor pro Stored Procedure verwenden
- Beim Dataset muss in den Eigenschaften der Command Type Stored Procedure ausgewählt werden
Eine beispielhafte Beschreibung findet man hier:
Tap into Oracle Databases with SQL Server Reporting Services: www.developer.com
Print article | This entry was posted by cmu on 11.01.08 at 13:48:17 . Follow any responses to this post through RSS 2.0. |