Step 2: Set up the Pentaho Repository
The Pentaho Repository is hosted on the database you installed to prepare your environment. The repository includes the following components:
Jackrabbit Contains the solution repository, examples, security data, and report content.
Quartz Holds data related to scheduling reports and jobs.
Hibernate Holds data related to audit logging.
(Optional) Pentaho Operations Mart Reports on system usage and performance.
Set up the Pentaho Repository by completing the tasks for the database you are using:
PostgreSQL
Install PostgreSQL as the host database for the Pentaho Repository in an archive installation by completing the following tasks, in order:
Important: Before you prepare your Pentaho Repository, you must complete Step 1: Prepare your environment.
Initialize the PostgreSQL Pentaho Repository database
To initialize PostgreSQL so it serves as the Pentaho Repository, run SQL scripts to create to create the Hibernate, Quartz, Jackrabbit (JCR), and (Optional) Pentaho Operations Mart components.
Important:
Use the ASCII character set when you run these scripts. Do not use UTF-8. Text string length limitations might cause the scripts to fail.
If you use a different password or user, update the examples to match.
Review Quartz database information:
Pentaho 10.2.0.0 and earlier use Quartz 1.x. Quartz 1.x uses a
QRTZ5_prefix in the database.Pentaho 10.2.0.1 and later use Quartz 2.x. Quartz 2.x uses a
QRTZ6_prefix in the database.When upgrading from an earlier version to Pentaho 10.2.0.1 and later, create the
QRTZ6_tables by repeating the Quartz database creation procedure. You can optionally migrate existing Quartz schedules using the migration script. During this upgrade procedure, executing the SQL create script resets the corresponding Quartz database without loss of the original data. However, the other associated repository databases in 10.2.0.1 will be reset by SQL scripts if run, and data might be deleted.Always back up your data before proceeding.
If you do not complete the Quartz upgrade, Pentaho Server fails at startup. You will also see this exception message in
catalina.log:
Change default passwords
For production, follow best practices and change the default passwords in the SQL script files.
Browse to the
<your pentaho directory>/pentaho-server/data/postgresqlfolder.Use a text editor to modify these create scripts as needed for your user, password, database, and other values:
create_jcr_postgresql.sqlcreate_quartz_postgresql.sqlcreate_repository_postgresql.sqlpentaho_mart_postgresql.sql
Save and close the files.
Run SQL scripts
To use PostgreSQL as the database for your Pentaho Repository, you must initialize the Jackrabbit, Quartz, Hibernate, and Operations Mart components. You can run SQL scripts developed by Pentaho to create and initialize these components.
When upgrading from earlier Pentaho versions, including 10.2.0.0 GA to 10.2.0.1 and later, you must manually initialize a new Quartz database. This creates a new Quartz library in the repository database. Back up your data before proceeding.
If you want to keep your existing Quartz library data, you can migrate the current tables to the new tables.
Back up your data. See step 3, Back up your existing Pentaho products and install Pentaho 11.0, in the Upgrade an archive installation section.
If Pentaho Server is running, stop it. See Stop and start the Pentaho Server and repository.
Ensure your PostgreSQL instance is running.
Open a PSQL console window and run these SQL creation scripts in this order:
<your pentaho directory>/pentaho-server/data/postgresql/create_quartz_postgresql.sql<your pentaho directory>/pentaho-server/data/postgresql/create_jcr_postgresql.sql<your pentaho directory>/pentaho-server/data/postgresql/create_repository_postgresql.sql(initializes Hibernate)<your pentaho directory>/pentaho-server/data/postgresql/pentaho_mart_postgresql.sql
The Quartz database, Jackrabbit and PostgreSQL repositories, and Pentaho Operations Mart are created. The new Quartz scheduler tables prefixed with
QRTZ6_are created.Any existing
QRTZ5_scheduler database is retained. Starting the Pentaho Server at this point results in an empty schedule.If you want to retain your existing scheduler database, open
migrate_old_quartz_data_postgresql.sqlin a text editor.Update the migration script as needed for your user, password, database, and other values.
Run the migration script:
<your pentaho directory>/pentaho-server/data/postgresql/migrate_old_quartz_data_postgresql.sql
The original Quartz scheduler database is migrated to the new Quartz database.
Verify PostgreSQL initialization
After you run the scripts, verify the databases and user roles were created correctly:
Open pgAdminIII or a similar client tool.
Log in as
hibuser.Verify that you can see the tables under hibernate.
If you installed Pentaho Operations Mart, verify that you can see the tables under pentaho_operations_mart.
Log in as
jcr_user.Verify that you can see the tables under jackrabbit.
The Jackrabbit tables might not appear until you start Pentaho for the first time.
Log in as
pentaho_user.Verify that you can see the tables under quartz.
Exit from the tool.
You have initialized the PostgreSQL Pentaho Repository database.
Configure the PostgreSQL Pentaho Repository database
After you initialize your repository database, configure Quartz, Hibernate, Jackrabbit, and Pentaho Operations Mart for PostgreSQL.
If you kept the default passwords and port, you can skip to Perform Tomcat-specific connection tasks.
By default, the examples in this section use a PostgreSQL database running on port 5432 with the default password.
Important: If you use a different port or password, you must update the examples to match.
Set up Quartz on PostgreSQL
Event information, such as scheduled reports, is stored in the Quartz JobStore.
During installation, specify where the JobStore is located by modifying quartz.properties.
Open
pentaho/server/pentaho-server/pentaho-solutions/system/scheduler-plugin/quartz/quartz.propertiesin a text editor.In the
#_replace_jobstore_propertiessection, setorg.quartz.jobStore.driverDelegateClass:org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegateSave and close the file.
Set Hibernate settings for PostgreSQL
Modify the Hibernate settings file to specify where Pentaho should find the Pentaho Repository’s Hibernate configuration file.
The Hibernate configuration file specifies driver and connection information, dialects, and connection close and timeout behavior.
The files in this section are located in pentaho/server/pentaho-server/pentaho-solutions/system/hibernate.
Open
hibernate-settings.xmlin a text editor.Find the
<config-file>tags and confirm this value is set for PostgreSQL:<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>Save and close the file if you made changes.
Modify Jackrabbit repository information for PostgreSQL
Edit repository.xml to use PostgreSQL for the default Jackrabbit repository.
Go to
pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbit.Open
repository.xmlin a text editor.Ensure the PostgreSQL lines are not commented out.
Ensure the MySQL, Oracle, and MS SQL Server lines are commented out.
ItemCode SectionRepository
DataStore
Workspaces
PersistenceManager (1st part)
Versioning
PersistenceManager (2nd part)
DatabaseJournal
Perform Tomcat-specific connection tasks
After you configure the repository, configure your web application servers to connect to it.
In this step, you make JDBC and JNDI connections to the Hibernate, Jackrabbit, and Quartz components.
Connections are already specified.
Modify Tomcat context.xml only if you changed the default ports or passwords.
Download driver and apply to the Pentaho Server
To connect to a database, including the Pentaho Repository database, you must download and copy a JDBC driver to the correct locations.
You must download and install the file yourself.
Download a JDBC driver JAR from your database vendor or a third-party driver developer.
See JDBC drivers reference for supported drivers.
Copy the JDBC driver JAR to
pentaho/server/pentaho-server/tomcat/lib.If you want to keep the Pentaho sample, copy
hsqldb-2.3.2.jartopentaho-server/tomcat/lib.
Modify JDBC connection information in the Tomcat XML file
Database connection and network information is stored in context.xml.
Modify context.xml to match your environment.
Important: If you use a different port, password, user, driver class, or host name, update the examples to match.
Consult your database documentation to determine the JDBC class name and connection string.
Go to
server/pentaho-server/tomcat/webapps/pentaho/META-INF.Open
context.xmlin a text editor.Add the following code if it does not already exist:
Update the user name, password, driver class, host name, and port values for your environment.
Comment out any resource references that refer to other databases.
Set
validationQuerytoselect 1.Save and close
context.xml.
Start the Pentaho Server
After you finish setting up the Pentaho Repository, go to Step 3: Start Pentaho Server and install licenses and client tools.
MySQL or MariaDB
Install MySQL or MariaDB as the host database for the Pentaho Server in an archive installation by completing the following tasks, in order:
Important:
Before you prepare your Pentaho Repository, you must complete Step 1: Prepare your environment.
MySQL Connector/J 8.0 cannot be used when configuring Tomcat with the JDBC driver JAR.
Initialize the MySQL or MariaDB repository database
To initialize MySQL or MariaDB so that it serves as the Pentaho Repository, you must run several SQL scripts to create the Hibernate, Quartz, Jackrabbit (JCR), and Pentaho Operations Mart components.
Important:
Use the ASCII character set when you run the scripts to initialize the repository database. Do not use UTF-8. UTF-8 can trigger string-length limits that can make scripts fail.
If your user, password, host, or port differs, you must update the examples to match your environment.
Pentaho 10.2.0.0 and earlier use Quartz 1.x tables with the
QRTZ5_prefix.Pentaho 10.2.0.1 and later use Quartz 2.x tables with the
QRTZ6_prefix. When upgrading to 10.2.0.1 or later, you must create theQRTZ6_tables by re-running the Quartz database creation step. You can then optionally migrate schedules using the provided migration script.Back up your data before you run any SQL scripts.
Failure to complete the Quartz upgrade results in a Pentaho Server start-up error. In addition to the server error, the following exception message is generated in the
catalina.logfile:
Change default passwords
For production, follow best practices and change the default passwords in the SQL script files.
Browse to the
<your pentaho directory>/pentaho-server/data/mysqlfolder.Use a text editor to update these scripts as needed for your existing user, password, database, and other values:
create_jcr_mysql.sqlcreate_quartz_mysql.sqlcreate_repository_mysql.sqlpentaho_mart_mysql.sql
Save and close the files.
Run SQL scripts
When upgrading from previous Pentaho versions (including 10.2.0.0 GA to 10.2.0.1 and later), you must manually initialize a new Quartz database. This creates a new Quartz library in the repository database.
If you want to keep existing Quartz schedules, migrate the old tables to the new tables.
Back up your data. See step 3, Back up your existing Pentaho products and install Pentaho 11.0, in the Upgrade an archive installation section.
If the Pentaho Server is running, stop it. See Stop and start the Pentaho Server and repository.
Make sure your MySQL or MariaDB instance is running.
Open MySQL Workbench or a MySQL/MariaDB command prompt.
Run the SQL creation scripts in this order:
<your pentaho directory>/pentaho-server/data/mysql/create_jcr_mysql.sql<your pentaho directory>/pentaho-server/data/mysql/create_quartz_mysql.sql<your pentaho directory>/pentaho-server/data/mysql/create_repository_mysql.sql<your pentaho directory>/pentaho-server/data/mysql/pentaho_mart_mysql.sql
This creates the Quartz database, the Jackrabbit and MySQL/MariaDB repositories, and Pentaho Operations Mart.
The scripts create the new Quartz scheduler tables prefixed with
QRTZ6_.Any existing
QRTZ5_tables are retained. Starting the Pentaho Server at this point results in an empty schedule.If you want to retain your existing scheduler data, open
migrate_old_quartz_data_mysql.sqlin a text editor.Update the migration script for your user, password, database, and other values. Save the file.
Run the migration script:
<your pentaho directory>/pentaho-server/data/mysql/migrate_old_quartz_data_mysql.sql
The original Quartz scheduler database is migrated to the new Quartz database.
Verify MySQL or MariaDB initialization
After you run the scripts, verify the databases and user roles were created properly:
Open MySQL Workbench.
Log in as
hibuser.Under Schemas, expand hibernate > Tables.
If you installed Pentaho Operations Mart, expand pentaho_operations_mart > Tables.
Log in as
jcr_user.Under Schemas, expand jackrabbit > Tables.
The Jackrabbit tables might not appear until after you start Pentaho for the first time.
Log in as
pentaho_user.Under Schemas, expand quartz > Tables.
Exit MySQL Workbench.
You have initialized the MySQL or MariaDB Pentaho Repository database.
Configure the MySQL or MariaDB repository database
Now that you have initialized your repository database, configure Quartz, Hibernate, Jackrabbit, and Pentaho Operations Mart for MySQL or MariaDB.
The examples assume MySQL on port 3306 with default passwords.
If your port or password differs, update the examples to match your environment.
Set up Quartz on MySQL or MariaDB
Quartz stores scheduler data, such as scheduled reports.
You point Pentaho at the correct JobStore by updating quartz.properties.
Open
pentaho/server/pentaho-server/pentaho-solutions/system/scheduler-plugin/quartz/quartz.properties.In
#_replace_jobstore_properties, setorg.quartz.jobStore.driverDelegateClass:Save the file.
Set Hibernate settings for MySQL or MariaDB
Hibernate settings point Pentaho to the correct Hibernate configuration file.
Files are in pentaho/server/pentaho-server/pentaho-solutions/system/hibernate.
Open
hibernate-settings.xml.Find the
<config-file>entry. Replacepostgresql.hibernate.cfg.xmlwithmysql5.hibernate.cfg.xml:From:
To:
Save and close the file.
(MariaDB only) Open
mysql5.hibernate.cfg.xml.Find the driver class and change it from MySQL to MariaDB:
From:
To:
Replace the audit log file with the MySQL version
Replace audit_sql.xml with the MySQL version.
Use the same file for MariaDB.
Locate
pentaho-solutions/system/dialects/mysql5/audit_sql.xml.Copy it into
pentaho-solutions/system.
Modify Jackrabbit repository information for MySQL or MariaDB
Update Jackrabbit to use the MySQL (or MariaDB) repository.
Open
pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbit/repository.xml.Uncomment the MySQL lines.
Comment out the MS SQL Server, Oracle, and PostgreSQL lines.
Verify these sections use the MySQL values.
ItemCode SectionRepository
DataStore
Workspaces
PersistenceManager (1st part)
Versioning
PersistenceManager (2nd part)
DatabaseJournal
Perform Tomcat-specific connection tasks
After your repository is configured, configure the web application server to connect to the Pentaho Repository.
In this step, you will make JDBC and JNDI connections to the Hibernate, Jackrabbit, and Quartz components.
Download driver and apply to the Pentaho Server
To connect to a database, including the Pentaho Repository database, download and copy a JDBC driver to the right locations for the Pentaho Server and the web application server.
Download a JDBC driver JAR from your database vendor or a third-party driver developer. The JDBC drivers reference lists supported drivers.
Copy the JDBC driver JAR to the
pentaho/server/pentaho-server/tomcat/libfolder.Copy the
hsqldb-2.3.2.jarfile topentaho-server/tomcat/libif you want to keep the Pentaho sample.
Modify JDBC connection information in the Tomcat XML file
Database connection and network settings (username, password, driver class, IP address or domain name, and port numbers) for your Pentaho Repository database are stored in the context.xml file.
Update this file to match your environment.
Important: If you have a different port, password, user, driver class, or IP address, update the examples to match your environment.
Consult your database documentation to determine the JDBC class name and the connection string for your Pentaho Repository database.
Go to
server/pentaho-server/tomcat/webapps/pentaho/META-INFand opencontext.xmlin a text editor.Add the following code if it does not already exist.
For MySQL:
For MariaDB:
Update usernames, passwords, driver classes, IP addresses (or domain names), and port numbers to match your environment.
Comment out resource references for databases you are not using.
Verify
validationQueryis set toselect 1(for example:validationQuery="select 1").Save
context.xml, then close it.
Start the Pentaho Server
After you finish setting up the Pentaho Repository, go to Step 3: Start Pentaho Server and install licenses and client tools.
Oracle
Install Oracle as the host database for the Pentaho Server in an archive installation by completing the following tasks, in order:
Important: Before you prepare your Pentaho Repository, you must complete Step 1: Prepare your environment.
Initialize Oracle Pentaho Repository database
To initialize Oracle so that it serves as the Pentaho Repository, you need to run several SQL scripts to create the Hibernate, Quartz, Jackrabbit (JCR), and Pentaho Operations Mart components.
Important:
Use the ASCII character set when you run these scripts. Do not use UTF-8. Text string length limitations might cause the scripts to fail.
If you use a different password or user, update the examples to match.
Review Quartz database information:
Pentaho 10.2.0.0 and earlier use Quartz 1.x. Quartz 1.x uses a
QRTZ5_prefix in the database.Pentaho 10.2.0.1 and later use Quartz 2.x. Quartz 2.x uses a
QRTZ6_prefix in the database.When upgrading from an earlier version to Pentaho 10.2.0.1 and later, create the
QRTZ6_tables by repeating the Quartz database creation procedure. You can optionally migrate existing Quartz schedules using the migration script. During this upgrade procedure, executing the SQL create script resets the corresponding Quartz database without loss of the original data. However, the other associated repository databases in 10.2.0.1 will be reset by SQL scripts if run, and data might be deleted.Always back up your data before proceeding.
If you do not complete the Quartz upgrade, Pentaho Server fails at startup. You will also see this exception message in
catalina.log:
Change default passwords
For production systems, follow best practices and change the default passwords in the SQL scripts.
Browse to the
<your pentaho directory>/pentaho-server/data/oraclefolder.Use a text editor to update the scripts as needed for your user, password, database, and other settings:
create_jcr_ora.sqlcreate_quartz_ora.sqlcreate_repository_ora.sqlpentaho_mart_oracle.sql
Save and close the files.
Run SQL scripts
When upgrading from previous Pentaho versions, including 10.2.0.0 GA to 10.2.0.1 and later, you must manually initialize a new Quartz database. A new Quartz library is created in the repository database as a result.
Always follow best practices and back up your data before you proceed. If you want to keep existing Quartz schedules, you can migrate the existing tables to the new tables.
Back up your data. See step 3, Back up your existing Pentaho products and install Pentaho 11.0, in the Upgrade an archive installation section.
If the Pentaho Server is running, stop it. For instructions, see Stop and start the Pentaho Server and repository.
Make sure that your Oracle instance is running.
Open a Command Prompt or terminal window that runs SQL*Plus, then run the following scripts in this order:
<your pentaho directory>/pentaho-server/data/oracle/create_jcr_ora.sql<your pentaho directory>/pentaho-server/data/oracle/create_quartz_ora.sql<your pentaho directory>/pentaho-server/data/oracle/create_repository_ora.sql<your pentaho directory>/pentaho-server/data/pentaho_mart_oracle.sql
This creates the Quartz database, Jackrabbit repository, Hibernate repository, and Pentaho Operations Mart.
The
QRTZ6_tables are created. Any existingQRTZ5_tables remain. If you start the Pentaho Server now, the schedule is empty.If you want to retain your existing schedule data, open
migrate_old_quartz_data_oracle.sqlin a text editor.Update the script for your user, password, database, and other settings, then save it.
Run the migration script:
<your pentaho directory>/pentaho-server/data/oracle/migrate_old_quartz_data_oracle.sql
Verify Oracle initialization
After you run the scripts, verify that databases and user roles were created correctly:
Open a Terminal or Command Prompt window running SQL*Plus (or a similar client) and connect to the Oracle database.
Log in as hibuser.
Verify that you can see the tables under hibernate.
If you installed Pentaho Operations Mart, verify that you can see the tables under pentaho_operations_mart.
Log in as jcr_user.
Verify that you can see the tables under jackrabbit.
The Jackrabbit tables may not appear until you start Pentaho for the first time.
Log in as pentaho_user.
Verify that you can see the tables under quartz.
Exit the tool.
You have initialized the Oracle Pentaho Repository database.
Configure Oracle Pentaho Repository database
Now that you have initialized your repository database, you will need to configure Quartz, Hibernate, Jackrabbit, and Pentaho Operations Mart for an Oracle database.
By default, the examples in this section are for an Oracle database that runs on port 1521. The default password is also in these examples.
Important: If you use a different port or password, you must update the examples to match your environment.
Set up Quartz on Oracle
Event information, such as scheduled reports, is stored in the Quartz JobStore. During the installation process, you must indicate where the JobStore is located by modifying the quartz.properties file.
Open the
pentaho/server/pentaho-server/pentaho-solutions/system/scheduler-plugin/quartz/quartz.propertiesfile in any text editor.Locate the #_replace_jobstore_properties section and set the org.quartz.jobStore.driverDelegateClass as shown:
Save the file and close the text editor.
Set Hibernate settings for Oracle
Modify the Hibernate settings file to specify where Pentaho should find the Pentaho Repository’s Hibernate configuration file. The Hibernate configuration file specifies driver and connection information, as well as dialects and how to handle connection closes and timeouts.
The files in this section are located in the pentaho/server/pentaho-server/pentaho-solutions/system/hibernate directory.
Perform the following steps to specify where Pentaho can find the Hibernate configuration file.
Open the
hibernate-settings.xmlfile in a text editor. Find the tags and changepostgresql.hibernate.cfg.xmltooracle10g.hibernate.cfg.xmlas shown.From:
To:
Save and close the file.
Replace default version of audit log file with Oracle version
Since you are using Oracle to host the Pentaho Repository, you need to replace the audit_sql.xml file with one that is configured for Oracle.
Locate the
pentaho-solutions/system/dialects/oracle10g/audit_sql.xmlfile.Copy it into the
pentaho-solutions/systemdirectory.
Modify Jackrabbit repository information for Oracle
Edit the following code to change the default Jackrabbit repository to Oracle.
Navigate to the
pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbitand open therepository.xmlfile with any text editor.As shown in the table below, locate and verify or change the code so that the Oracle lines are not commented out, but the MySQL, PostgreSQL, and MS SQL Server lines are commented out.
ItemCode SectionRepository
DataStore
Workspaces
PersistenceManager (1st part)
Versioning
PersistenceManager (2nd part)
DatabaseJournal
Perform Tomcat-specific connection tasks
After your repository has been configured, you must configure the web application servers to connect to the Pentaho Repository. In this step, you will make JDBC and JNDI connections to the Hibernate, Jackrabbit, and Quartz components.
Use these steps to set up the JDBC driver and update the Tomcat connection settings.
Download driver and apply to the Pentaho Server
To connect to a database, including the Pentaho Repository database, you must download and copy a JDBC driver to the appropriate places for the Pentaho Server and the web application server.
Download a JDBC Driver JAR from your database vendor or a third-party driver developer. The JDBC drivers reference has a list of supported drivers.
Copy the JDBC driver JAR you downloaded to the
pentaho/server/pentaho-server/tomcat/libfolder.Copy the
hsqldb-2.3.2.jarfile topentaho-server/tomcat/libif you want to retain the sample provided by Pentaho.
Modify JDBC connection information in the Tomcat XML file
Database connection and network information, such as the username, password, driver class information, IP address or domain name, and port numbers for your Pentaho Repository database are stored in the context.xml file. Modify this file to reflect the database connection and network information for your operating environment.
Important: If you have a different port, password, user, driver class information, or IP address, you must change the values in these examples to match your environment.
Consult your database documentation to determine the JDBC class name and the connection string for your Pentaho Repository database.
Navigate to the
server/pentaho-server/tomcat/webapps/pentaho/META-INFdirectory and open thecontext.xmlfile with any text editor.Add the following code to the file if it does not already exist. Replace
XEin the URL setting with your schema name.Modify the username, password, driver class information, IP address (or domain name), and port numbers to match your environment.
Comment out any resource references that refer to other databases.
Verify that the
validationQueryvariable for your database is set tovalidationQuery=\"select 1 from dual\".Save the
context.xmlfile, then close it.
Start the Pentaho Server
After you finish setting up the Pentaho Repository, go to Step 3: Start Pentaho Server and install licenses and client tools.
MS SQL Server
Install MS SQL Server as the host database for the Pentaho Server in an archive installation by completing the following tasks, in order:
Important: Before you prepare your Pentaho Repository, you must complete Step 1: Prepare your environment.
Initialize MS SQL Server Pentaho Repository database
To initialize MS SQL Server so it serves as the Pentaho Repository, run SQL scripts to create the Hibernate, Quartz, Jackrabbit (JCR), and Pentaho Operations Mart components.
Important:
Use the ASCII character set when you run these scripts. Do not use UTF-8. Text string length limitations can cause the scripts to fail.
If you have a different password or user, update the examples to match your configuration.
Pentaho 10.2.0.0 and earlier use the Quartz 1.x library, which uses a
QRTZ5_prefix in the database. Pentaho 10.2.0.1 and later use Quartz 2.x, which uses aQRTZ6_prefix. When you upgrade from an earlier version, create theQRTZ6_tables by repeating the Quartz database creation step. You can optionally migrate schedules with the migration script. Always back up your data before you proceed.If you do not complete the Quartz upgrade, Pentaho Server fails at startup. You will see a “Missing Quartz library database error” exception in
catalina.log.
Adjust MS SQL Server configuration settings
Configure these MS SQL Server settings in Microsoft SQL Server Management Studio (or a similar tool).
Select SQL Server and Windows Authentication Mode to use mixed authentication.
Enable TCP/IP for MS SQL Server.
Make sure MS SQL Server listens on an external IP, not localhost.
Change default passwords
For production, follow best practices to change the default passwords in the SQL scripts.
Browse to the
<your pentaho directory>/pentaho-server/data/sqlserverfolder.Modify these create scripts as needed for your existing setup (user, password, database, and other required information):
create_jcr_sqlServer.sqlcreate_quartz_sqlServer.sqlcreate_repository_sqlServer.sqlpentaho_mart_sqlserver.sql
Save and close the files.
Run SQL scripts
When upgrading from previous Pentaho versions (including 10.2.0.0 GA to 10.2.0.1 and later), manually initialize a new Quartz database. This creates a new Quartz library in the repository database. Back up your data before you proceed.
Run the SQL creation scripts.
Back up your data. See step 3, Back up your existing Pentaho products and install Pentaho 11.0, in the Upgrade an archive installation section.
If the Pentaho Server is running, stop it. For instructions, see Stop and start the Pentaho Server and repository.
Make sure your MS SQL Server instance is running.
Open a
sqlcmdutility window, or run these scripts from Microsoft SQL Server Management Studio, in this order:<your pentaho directory>/pentaho-server/data/sqlserver/create_jcr_sqlServer.sql<your pentaho directory>/pentaho-server/data/sqlserver/create_quartz_sqlServer.sql<your pentaho directory>/pentaho-server/data/sqlserver/create_repository_sqlServer.sql<your pentaho directory>/pentaho-server/data/sqlserver/pentaho_mart_sqlserver.sql
The Quartz database, Jackrabbit and MS SQL Server repositories, and Pentaho Operations Mart are created. The new Quartz scheduler table prefixed with
QRTZ6_is created. Any existingQRTZ5_scheduler database is retained. Starting the Pentaho Server at this point results in an empty schedule.If you want to retain your existing scheduler database, open the
migrate_old_quartz_data_sqlserver.sqlfile.Modify the migration script as needed for your existing setup (user, password, database, and other required information), then save it.
Run the migration script:
<your pentaho directory>/pentaho-server/data/sqlserver/migrate_old_quartz_data_sqlserver.sql
The original Quartz scheduler database is migrated to the new Quartz database.
Verify MS SQL Server initialization
After you run the scripts, verify that the databases and user roles were created properly:
Open MS SQL Server Management Studio.
Log in as
hibuser.In Object Explorer, navigate to
hibernateand verify that you can see the tables.If you installed Pentaho Operations Mart, log in as
pentaho_operations_mart.In Object Explorer, navigate to
pentaho_operations_martand verify that you can see the tables.Log in as
jcr_user.In Object Explorer, navigate to
jackrabbitand verify that you can see the tables. The Jackrabbit tables may not appear until you start Pentaho for the first time.Log in as
pentaho_user.In Object Explorer, navigate to
quartzand verify that you can see the tables.Exit MS SQL Server Management Studio.
Configure MS SQL Server Pentaho Repository database
After you initialize your repository database, configure Quartz, Hibernate, Jackrabbit, and Pentaho Operations Mart for an MS SQL Server database.
By default, the examples in this section assume MS SQL Server running on port 1433. They also use the default password.
Important: If you use a different port or password, update the examples to match your configuration.
Set up Quartz on MS SQL Server
Event information, such as scheduled reports, is stored in the Quartz JobStore. During installation, indicate where the JobStore is located by modifying quartz.properties.
Open
pentaho/server/pentaho-server/pentaho-solutions/system/scheduler-plugin/quartz/quartz.properties.In the
#_replace_jobstore_propertiessection, setorg.quartz.jobStore.driverDelegateClass:Save the file.
Set Hibernate settings for MS SQL Server
Modify the Hibernate settings file to specify where Pentaho should find the Pentaho Repository Hibernate configuration file.
The files in this section are located in pentaho/server/pentaho-server/pentaho-solutions/system/hibernate.
Open
hibernate-settings.xml.Find the
<config-file>tags. Changepostgresql.hibernate.cfg.xmltosqlserver.hibernate.cfg.xml.From:
To:
Save and close the file.
Replace default version of audit log file with MS SQL Server version
Since you are using MS SQL Server to host the Pentaho Repository, replace audit_sql.xml with the MS SQL Server version.
Locate
pentaho-solutions/system/dialects/sqlserver/audit_sql.xml.Copy it into the
pentaho-solutions/systemdirectory.
Modify Jackrabbit repository information for MS SQL Server
Edit repository.xml to change the default Jackrabbit repository to MS SQL Server.
Navigate to
pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbit.Open
repository.xml.Locate and verify or change the configuration so that the MS SQL Server lines are uncommented, and the MySQL, Oracle, and PostgreSQL lines are commented out.
ItemCode SectionRepository
Perform Tomcat-specific connection tasks
After your repository is configured, configure your web application server to connect to the Pentaho Repository.
In this step, you make JDBC and JNDI connections to the Hibernate, Jackrabbit, and Quartz components.
Download driver and apply to the Pentaho Server
To connect to a database (including the Pentaho Repository database), download and copy a JDBC driver to the Pentaho Server and the web application server.
Download a JDBC driver
.jarfrom your database vendor or a third-party driver developer. See JDBC drivers reference.Copy the JDBC driver
.jartopentaho/server/pentaho-server/tomcat/lib.Copy
hsqldb-2.3.2.jartopentaho-server/tomcat/libif you want to retain the Pentaho sample data.
Modify JDBC connection information in the Tomcat XML file
Database connection and network information (such as user name, password, driver class, host, and port) is stored in context.xml. Modify it to match your environment.
Consult your database documentation to determine the JDBC class name and connection string for your Pentaho Repository database.
Navigate to
server/pentaho-server/tomcat/webapps/pentaho/META-INF.Open
context.xml.Add the following resources if they do not already exist:
Modify user names, passwords, driver class information, host, and port to match your environment.
Comment out any resource references that refer to other databases.
Verify your database validation query is set to
validationQuery=\"select 1\".Save and close
context.xml.
Start the Pentaho Server
After you finish setting up the Pentaho Repository, go to Step 3: Start Pentaho Server and install licenses and client tools.
Last updated
Was this helpful?

