CiAgICA8IS0tIExpbmtlZEluIC0tPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIF9saW5rZWRpbl9wYXJ0bmVyX2lkID0gIjEyMzUwNzMiOwogICAgICAgIHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyA9IHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyB8fCBbXTsKICAgICAgICB3aW5kb3cuX2xpbmtlZGluX2RhdGFfcGFydG5lcl9pZHMucHVzaChfbGlua2VkaW5fcGFydG5lcl9pZCk7CiAgICA8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgKGZ1bmN0aW9uKCl7dmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07CiAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAgICAgIGIudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiO2IuYXN5bmMgPSB0cnVlOwogICAgICAgICAgICBiLnNyYyA9ICJodHRwczovL3NuYXAubGljZG4uY29tL2xpLmxtcy1hbmFseXRpY3MvaW5zaWdodC5taW4uanMiOwogICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsIHMpO30pKCk7CiAgICA8L3NjcmlwdD4KICAgIDxub3NjcmlwdD4KICAgICAgICA8aW1nIGhlaWdodD0iMSIgd2lkdGg9IjEiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IiBhbHQ9IiIgc3JjPSJodHRwczovL3B4LmFkcy5saW5rZWRpbi5jb20vY29sbGVjdC8/cGlkPTEyMzUwNzMmZm10PWdpZiIgLz4KICAgIDwvbm9zY3JpcHQ+CiAgICA8IS0tIEVuZCBMaW5rZWRJbiAtLT4KICAgIA==
Generic filters
Exact matches only
Search in title
Search in excerpt
Search in content

Berichtsserver für Experten Teil 1: Zweite Instanz für den ReportService

Die deltas! 5.4.2 beschreiben die Einrichtung des ReportService. Dieser wird verwendet, um die Backend-Power eines Servers für die Erstellung von Ad-hoc-Reports zu nutzen. So kann beispielsweise ein 32-Bit-Client den ReportService eines 64-Bit-Servers verwenden.

In der Berichtsserver-Datenbank befinden sich die Jobdefinitionen. In manchen Projekten möchte man verschiedenen Abteilungen die Möglichkeit geben, unabhängig voneinander Jobs im Berichtsserver zu verwalten und auszuführen. Dazu benötigt jede Abteilung eine eigene Berichtsserver-Datenbank. Für die Verwendung des ReportService in beiden Abteilungen ist dann auch eine zusätzliche Instanz des ReportService nötig. Sofern dieser zweite ReportService auf demselben Backend-Server ausgeführt werden soll, sind – zusätzlich zu den in den deltas! 5.4.2 beschriebenen Installationshinweisen – weitere Aktionen nötig. Diese beschreibt der vorliegende Blogbeitrag.

Einrichten einer zweiten Berichtsserver-Datenbank

Damit die zweite Abteilung diesen Dienst nutzen kann, benötigt man eine zusätzliche Berichtsserver-Datenbank. Für diese Datenbank gelten die gleichen Voraussetzungen wie für die erste: alle Anwender, die Jobs erstellen oder ausführen möchten, müssen über einen entsprechenden Zugriff auf die zweite Berichtsserver-Datenbank verfügen. Dabei ist für die zusätzliche Datenbank eine ODBC-Schnittstelle einzurichten. Der DSN-Name gibt man später bei der Konfiguration des ReportService an.

Einrichten eines Benutzerkontos für den zweiten ReportService

Die Ausführung des zweiten ReportService fordert ein weiteres Dienst-ausführendes Benutzerkonto. Dieses muss, wie bei der ersten ReportService-Instanz, Zugriff auf die Berichtsserver-Datenbank, die Abteilungs-Analysesitzungen, die zugehörigen relationalen und OLAP-Datenbanken erhalten. Meist liegt bereits ein Gruppenverzeichnis für die Analysesitzungen und Exportdateien vor, das per UNC-Pfad zu erreichen ist.

Installation auf dem Backend

Für den zweiten ReportService wird eine vollständige DeltaMaster-Installation mit den Dateien für den Berichtsserver und den ReportService benötigt. Hierzu kann das Verzeichnis der ersten DeltaMaster-Installation kopiert werden. Nach Bereitstellung der zweiten DeltaMaster-Installation passt man die Konfigurationsdateien wie folgt an:

  • „reportserver.exe.config“: Hier ist im Abschnitt <appSettings> die zweite Berichtsserver-Datenbank anzugeben.

<appSettings>

<add key=”Database” value=”DSN=DSN-Name der zweiten

Berichtsserver-Datenbank” />

</appSettings>

  • „reportservice.exe.config“: Hier ist ebenfalls im Abschnitt <appSettings> die zweite Berichtsserver-Datenbank anzugeben. Zusätzlich müssen im Abschnitt <system.serviceModel> unter „address“ Server-Name und Port für die zweite ReportService-Instanz angegeben werden. Hier ist ein im Netzwerk noch nicht verwendeter Port zu verwenden. Durch den ersten ReportService ist meist bereits der Port 8000 belegt. Ob andere Ports durch weitere Dienste, wie den DeltaMasterService, bereits belegt sind, muss individuell geprüft werden. Beispielsweise kann Port 8002 verwendet werden. Dieser wird auch in der Firewall des Servers als eingehende Regel freigegeben.

<system.serviceModel>

<services>

<service name=”DeltaMiner.Reporting.ReportService” >

<endpoint address=”net.tcp://Servername:Port des zweiten Reportservice/ReportService”

binding=”netTcpBinding”

contract=”DeltaMiner.Reporting.IReportService” />

</service>

</services>

</system.serviceModel>

Einrichtung des zusätzlichen ReportService-Dienstes

Für die Einrichtung des zweiten ReportService kann die mitgelieferte _install.bat nicht verwendet werden. Die hinterlegten Standard-Parameter müssen individuell angepasst und der Service manuell installiert werden. Zur Installation und Deinstallation sind folgende Batch-Dateien anzulegen:

  • _install2.bat

sc create “DeltaMaster_Reportservice_2” start= auto binpath=
programmpfad\ReportService.exe” Displayname= “DeltaMaster ReportService 2”

sc description “DeltaMaster_Reportservice_2” “DeltaMaster ReportService 2”

  • _uninstall2.bat

sc delete “DeltaMaster_Reportservice_2”

Der Dienst-Name, der Display-Name und die Description kann man individuell benennen; diese müssen aber in beiden Dateien zueinander passen. Die Batch-Datei _install2.bat muss mit Administrator-Rechten ausgeführt werden.

Nach Ausführen der _install2.bat wird der Dienst in der Dienste-Verwaltung weiter konfiguriert. Hier wird das Dienst-ausführende Benutzerkonto mit seinem Passwort angegeben und der Startmodus auf „automatisch“ eingestellt. Anschließend kann der Dienst gestartet werden.

Wie für die erste Instanz gilt auch hier, dass für den Start des Dienstes keine DeltaMaster-Lizenz benötigt wird. Sobald jedoch ein Berichtsserver-Job gestartet wird, wird die entsprechende Berichtsserver-Lizenz gesucht. Daher muss auch für das Dienst-ausführende Benutzerkonto auf dem Backend-Server der Verweis zum Lizenzserver gesetzt sein.

Eine Deinstallation des Dienstes ist mit _uninstall2.bat möglich. Auch diese Batch-Datei muss mit Administrator-Rechten ausgeführt werden.

Einrichtung auf dem Client

Bei der Einrichtung auf dem Client wird analog zu den Ausführungen gemäß deltas! 5.4.2 verfahren. Es gilt für den Zugriff auf die Job-Definitionen einen weiteren DSN-Eintrag über den ODBC-Datenquellen-Administrator mit Verweis auf die zweite Berichtsserver-Datenbank einzurichten.

In der Datei „reportserver.exe.config“ sind folgende Einstellungen anzupassen:

  • Eintrag des DSN-Namens der zweiten Berichtsserver-Datenbank im Abschnitt <appSettings>:

<appSettings>

<add key=”Database” value=”DSN=DSN-Name der zweiten
Berichtsserver-Datenbank
” />

</appSettings>

  • Anpassung der Parameter für Servernamen, Port und Dienst-ausführendes Benutzerkonto des ReportService im Abschnitt <system.serviceModel>:

<endpoint

address=”net.tcp://Servername:8002/ReportService”

binding=”netTcpBinding”

contract=”DeltaMiner.Reporting.IReportService”

name=”NetTcpBinding_ReportService” >

<identity>

<userPrincipalName value=”Domain\user” />

</identity>

</endpoint>

Portfreischaltungen

Um Zugriff auf den ReportService zu haben, muss auf dem Backend-Server der Port des ReportService als eingehende Regel freigeschaltet sein (eingehende Regel für den Port gemäß Einstellung in der config-file z. B. TCB 8000 bzw. 8001 oder 8002).