Wednesday, March 6, 2013

JasperReports Server 5.0 - Installation

JasperReports Server ist laut JasperSoft eine leistungsstarke und gleichzeitig höchst flexible und schlanke Berichtsserver-Lösung. Das wollen wir uns mal genauer anschauen.


Installation
Der Test wird auf einer virtuellen Maschine mit Windows Server 2008 R2 64bit durchgeführt. Tomcat, Java und MySQL sind bereits installiert. Im Install Guide wird ausführlich beschrieben wie JasperReports Server installiert werden kann. Hier eine Quick Installation.



1. JasperReports Server herunter laden! Achtung man muss auf die "bits" achten. Wir verwenden natürlich die 64bit Version. Den Tomcat haben wir vor der Installation zur Sicherheit  heruntergefahren.

2. Installationspfad wählen


 3. Tomcat Installation. Wir verwenden unseren Tomcat.

 4. Datenbank. Schade, dass wir nicht unsere MySQL DB auswählen können. Wir entscheiden uns für die bundled PostgreSQL Variante.
 5. Tomcat Port einstellen. Da unser auf Port 80 läuft tragen wir hier 80 ein.

6. Installation der Demodaten und Beispielberichte.
 7. In welchem Verzeichnis ist der Tomcat zu finden?
 8. Auswahl der Datenbankenports. Den lassen wir mal schön auf Standard.
 9. Soll iReports gleich mit installiert werden? Nein, denn das haben wir ja schon.
 10. Okay dann mal los.


Okay das klingt doch sehr gut bis hier her. Und siehe das wenige Minuten später ist die Installation auch schon fertig.


 

Start & Test
Dann starten wir mal den Tomcat und schauen uns das ganze mal an.
Das hat wohl nicht geklappt! Dann schauen wir mal ins Tomcat Fehler LOG was da nicht geklappt hat.

Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Verbindung verweigert. Überprüfen Sie die Korrektheit von Hostnamen und der Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt.)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
    at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
    ... 111 more
Caused by: org.postgresql.util.PSQLException: Verbindung verweigert. Überprüfen Sie die Korrektheit von Hostnamen und der Portnummer und dass der Datenbankserver TCP/IP-Verbindungen annimmt.
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:136)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
    at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
    at org.postgresql.Driver.makeConnection(Driver.java:393)
    at org.postgresql.Driver.connect(Driver.java:267)
    at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
    ... 115 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at org.postgresql.core.PGStream.<init>(PGStream.java:62)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:76)
    ... 125 more


Keine Verbindung zur Datenbank? Nun müssen wir erst mal klären wo Jasper uns die PostgresSQL DB installiert hat.

Im Installationsverzeichnis (vgl. 2. aus der Kurzanleitung) ist ein Unterverzeichnis postgresql zu finden und dort gibt im Verzeichnis scripts die beiden Batch Dateien servicerun.bat und serviceinstall.bat. Service?? Das klingt, als gäbe es einen Windowsdienst für PostgreSQL und tatsächlich "jasperreportsPostgreSQL". Den starten wir nun mal (net start "jasperreportsPostgreSQL" oder unter Dienste direkt)und versuchen unser Glück erneut.

Es ist vollbracht JasperServer ist installiert!


Nun melden wir uns doch mal an! Wo finde ich die Userdaten?  Ja ich benötige Hilfe bei der Anmeldung!

Also jasperadmin und password: jasperadmin und wir sind drin! Oder joeuser!