SSRS – Dynamische Datenquellen in Reporting Services
Wenn ein Bericht der mit Microsoft-SQL-Server 2005 Reporting-Services (SSRS) entwickelt wurde, auf verschiedene Server oder Datenbanken zugreifen muss, so ist dies durch sogenannte dynamische Datenverbindungen möglich.
Es gibt hier Lösungsszenarien die über einen “embedded Codeblock” in den Berichtseigenschaften eine Funktion definieren und anschließend über diese Funktion einen Connection-String (Verbindungszeichenfolge) zurückgeben der über einen Parameter der Funktion selektiert werden kann.
Für den oben beschriebenen Fall muss man also (zumindest rudimentäre) Kenntnisse der VB Programmierung haben. Weiterhin ist es nicht sofort offensichtlich wie die Verbindungszeichenfolgen zustande kommen.
Mir ist in einem solchen Fall der Standardweg lieber, insbesondere deshalb weil es nicht möglich ist, die Zeichenfolge zur Laufzeit wirklich dynamisch zu generieren.
Die einzige Möglichkeit ist, eine Auswahl von Verbindungen zur Enwicklungszeit zu definieren die dann vom Benutzer ausgewählt werden können.
Zwei Beispiele sollen den Unterschied einmal herausstellen:
FALSCH
(weil zur Laufzeit erst zusammengebaut):
="Data Source=" & Parameter!Server.Value & ";Initial Catalog=" & Parameter!DB.Value
RICHTIG
(Variable enthält konstant definierte Auswahl an Verbindungen):
=Parameter!Connection.Value
Im Parameter Connection wird dann der gesamte Connection-String abgelegt. Wenn man das Default-Value dann noch auf NULL setzt, muss der Benutzer erst die Datenquelle aussuchen bevor er den Bericht starten kann.
Fazit:
Die Dynamik bei den Berichtsdatenquellen bezieht sich nur auf eine vorher bestimmte Anzahl von möglichen Verbindungen und kann nicht zur Laufzeit direkt bestimmt werden. z.B. Über Ausdrücke, Stringhandling, Abfrage oder dergleichen.

Facebook
XING
META-SQL