In this guide we describe the upgrade process from Bitnami ReportServer instances to a newer Bitnami ReportServer stack.
The following upgrade installation gives a step by step description of how to upgrade the Bitnami ReportServer Stack to either ReportServer 3.7.1 Community Edition or ReportServer 3.7.1 Enterprise Edition. Another versions can be upgraded in an analogous way. The upgrade consists of the following steps.
Before you start with upgrading the ReportServer Bitnami Stack, please make sure to have the following requirement met.
The first step is to download the updated Bitnami ReportServer Stack. You can find download links on our download page. Note that you can upgrade both to ReportServer Enterprise or to ReportServer Community. Once you have downloaded the installer, keep the file in a safe location and proceed with the next steps without starting the installation process. We'll do so in just a moment, but before that we need to make sure that the following precautions have been made for a succesful transfer of data.
The easiest and most complete backup is a complete SNAPSHOT of your current installation. Be sure you can return to the previous state in case something goes wrong.
Please make sure that you have access to a terminal (Linux) or cli (Windows command prompt) and that you have a user with administration rights.
Once that we have exported all relevant data from the old instance, we can stop the old server. You can stop ReportServer by using the server monitor application that was installed with ReportServer. You find it in the installation directory. The manager application should be called manager-PLATFORM where platform could be linux-x64, windows or osx.
To export all relevant data from your current ReportServer installation, open a Terminal or cli with administration rights and navigate to your current Bitnami ReportServer installation.
Something like this here
E.G.: C:\Bitnami\reportserverenterprise-3.7.1.6048-1\mariadb\bin>
You should look up your credentials for your internal database of your current ReportServer installation by checking the folder that contains this data.
E.G.: C:\Bitnami\reportserverenterprise-3.7.1.6048-1\apps\reportserver\reportserver-conf\persistence.properties>
As you have obtained the username and password for your internal db you now have the possibility to create a backup or so called dumpfile of your current database.
To create an actual dumpfile you need the the following command.
mysqldump -u username -ppassword source_database_name > path_to_dumpfile_on_hdd_or_ssd
mysqldump -u username -p password source_database_name > path_to_dumpfile_on_hdd_or_ssd
E.G.: mysqldump -u bn_reportserver -pa95f96a6d1 bitnami_reportserver > C:\BitnamiDBbackup\backup\bitnami_reportserver_backup.sql
After that it should appear in your specified folder and should contain a dumpfile that can be used to upgrade your new updated ReportServer later.
Now you need to uninstall your current bitnami Reportserver installation and need to install the latest version of Reportserver with your installer package from bitnami.
This guide demonstrates this with the aforementioned version 3.1.0 to 3.7.1.
As you have installed the new Bitnami ReportServer version succesfully, you can now begin to update your database.
For this step we need to delete the current iteration of the internal database. This will be done in order to make room for your backup that you just created in step 3 of the overview.
Please start by opening a command prompt or terminal and navigate to your installations bin folder.
Then you need to access your database via the username and password from step 3 with the following command.
mysql -u username -ppassword
E.G.: C:\Bitnami\reportserverenterprise-3.7.1.6048-1\mariadb\bin>mysql -u bn_reportserver -pa95f96a6d1
In this environment you can actually use sql code, which comes in handy when you need to make queries for checking out e.g. databases and database names, tables of databases etc. .
SQL is very powerful in that regard and helps you now.
MariaDB [(none)]>show databases;
After that we can basically see that we have multiple databases but just the bitnami_reportserver db is of interest to us.
Therefore we need to use the following command to delete the underlying db for the new reportserver.
mysql -u username -ppassword source_database_name < path_of_the_drop_ddl_sqls;
E.G.: C:\Bitnami\reportserverenterprise-3.7.1.6048-1\mariadb\bin>mysql -u bn_reportserver -pa95f96a6d1 bitnami_reportserver < C:\Bitnami\reportserverenterprise-3.7.1.6048-1\apache-tomcat\webapps\reportserver\ddl\reportserver-RS3.7.1-6048-schema-MySQL5_DROP.sql
By doing this we have finally made room for our backup that will take place in the next step. Thanks to the empty set and the command
show tables in bitnami_reportserver;
We can be sure that the dbs is empty and contains no further tables that could interfere with our backup.
In Step 3 of the overview we basically created a complete backup of our former database. Now it is being used for importing our data from the former version of Bitnami ReportServer to the current latest version of Bitnami Reportserver.
For this we need to use a command that allows us to import our backed up data and use it as our new internal db for our latest installment of Bitnami ReportServer.
The generalized way of doing this look like this.
mysql -u username -ppassword source_database_name < path_to_dumpfile_backup
E.G.: C:\Bitnami\reportserverenterprise-3.7.1.6048-1\mariadb\bin>mysql -u bn_reportserver -pa95f96a6d1 bitnami_reportserver < C:\BitnamiDBbackup\backup\bitnami_reportserver_backup.sql
Thanks to the wonders of sql we can now check whether our import was succesful with the following command.
MariaDB [(none)]>show tables from bitnami_reportserver;
Obviously it worked thanks to seeing a reinstalled database with all its content for our latest version of Bitnami ReportServer.
After finishing the succesful import, you now have a chance of restarting the ReportServer by opening the management tool within the Bitnami installation folder and navigating to the tab "Manage Servers" and clicking on Tomcat Server the start button.
This should start the ReportServer again and allow you to get access to the landing page.
Even though it looks like everything went as expected, there can always happen something unexpected, due to the delicate nature of upgrading software systems.
Due to this situation that could occur it is always wise to check the logs as found in here for anything that could have happened during the import and especially during the call of ReportServer with the new database.
E.G.: C:\Bitnami\reportserverenterprise-3.7.1.6048-1\apache-tomcat\logs\reportserver.xxxx-xx-xx.log
The xxxx-xx-xx is the placeholder for the date of the log so it can vary depending on when you start up tomcat and ReportServer.
If everything went well you should see something like this.
Version: RS3.7.1-6048 2021-11-08-13-44-40 Code Version: 2021-11-08-13-44-40 Java Version: BellSoft OpenJDK 64-Bit Server VM 11.0.13+8-LTS (11) VM Args: -Dcatalina.home=C:\Bitnami\REPORT~1.605\APACHE~1 -Dcatalina.base=C:\Bitnami\REPORT~1.605\APACHE~1 -Dignore.endorsed.dirs=C:\Bitnami\REPORT~1.605\APACHE~1\endorsed -Djava.io.tmpdir=C:\Bitnami\REPORT~1.605\APACHE~1\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\Bitnami\REPORT~1.605\APACHE~1\conf\logging.properties -Drs.configdir=C:\Bitnami\reportserverenterprise-3.7.1.6050-0/apps/reportserver/reportserver-conf -Dfile.encoding=UTF8 --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/jdk.internal.reflect=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED -Djavax.net.ssl.trustStoreType=JKS --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED exit abort -Xms512m -Xmx1536m rs.configdir: C:\Bitnami\reportserverenterprise-3.7.1.6048-1\apps\reportserver\reportserver-conf (OK)
### DB Config ### hibernate.dialect: net.datenwerke.rs.utils.hibernate.MariaDbDialect (OK) hibernate.connection.driver_class: org.mariadb.jdbc.Driver (OK) hibernate.connection.url: jdbc:mariadb://127.0.0.1:3306/bitnami_reportserver (OK) hibernate.connection.username: bn_reportserver hibernate.connection.password: ********** hibernate.default_schema:
Connection Test: OK Schema Version: RS3.0-14
06-Jan-2022 08:54:13.682 INFORMATION [Catalina-utility-1] net.datenwerke.rs.EnvironmentValidator.schemaupdate Performing database update RS3.0-14 -> RS3.0-20 06-Jan-2022 08:54:13.683 INFORMATION [Catalina-utility-1] net.datenwerke.rs.EnvironmentValidator.doVersionUpdate Running script RS3.0-15-MySQL5_UPDATE.sql 06-Jan-2022 08:54:13.760 INFORMATION [Catalina-utility-1] net.datenwerke.rs.EnvironmentValidator.doVersionUpdate Running script RS3.0-16-MySQL5_UPDATE.sql 06-Jan-2022 08:54:13.849 INFORMATION [Catalina-utility-1] net.datenwerke.rs.EnvironmentValidator.doVersionUpdate Running script RS3.0-17-MySQL5_UPDATE.sql 06-Jan-2022 08:54:13.941 INFORMATION [Catalina-utility-1] net.datenwerke.rs.EnvironmentValidator.doVersionUpdate Running script RS3.0-18-MySQL5_UPDATE.sql 06-Jan-2022 08:54:15.308 INFORMATION [Catalina-utility-1] net.datenwerke.rs.EnvironmentValidator.doVersionUpdate Running script RS3.0-19-MySQL5_UPDATE.sql 06-Jan-2022 08:54:16.596 INFORMATION [Catalina-utility-1] net.datenwerke.rs.EnvironmentValidator.doVersionUpdate Running script RS3.0-20-MySQL5_UPDATE.sql 06-Jan-2022 08:54:17.483 INFORMATION [Catalina-utility-1] net.datenwerke.rs.EnvironmentValidator.startup Validating database schema... 06-Jan-2022 08:54:40.259 INFORMATION [Catalina-utility-1] net.datenwerke.rs.EnvironmentValidator.hibernateValidateSchema Schema validation completed
Important are these lines.
Performing database update RS3.0-XY -> RS3.0-XY Update Running script RS3.0-XY-MySQL5_UPDATE.sql
Reportserver should be callable when you restart the tomcat under the following address considering the standard implementation. You just need to start the browser of your choice and type in
127.0.0.1/reportserver/
When you have typed this in and pressed Enter, you should see the Bitnami ReportServer landing page.
Now you just need to log in with your credentials you put up during installation of the new upgrade and navigate to Administration within the gui of ReportServer.
You should see under the Administration tab multiple categories that are enclosed in the left frame of ReportServer and you should click on Datasources.
Due to the new installment of ReportServer you also probably have noticed that your db user credentials have changed.
This encompasses in particular the password as has been discovered in step 3. We need this new password because the backup we imported still is based on the old password of the former credentials of your internal db.
Thats why we need to change this now and put in the new password in the password field of the new internal datasource that Bitnami ReportServer uses.
Now you just need to press apply and click on the button test connection and if everything went well you should see a connection succesful pop-up.
Congratulations! You have successfully updated not only your ReportServer to the latest version, but also have taken over all the data you have backed up into the new version.
Please take a note, If you edited the default config files (e.g. for SSO) you can replace them with your backup files after again stopping Tomcat (refer to the C:\Bitnami\reportserverenterprise-3.7.1.6048-1\apps\reportserver\reportserver-conf directory of the backup-section of this guide)
Happy Reporting