Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column
width0px

 

These steps are required when you convert from a demo/trial server installation to a production installation.

Tip

While you are demo-ing you do not need to do the Database Setup steps discussed below.

Your  server requires an SQL database for storing users and form submissions. The follow SQL databases have been certified:

The server may function with other SQL database types but only the above set has been certified.

Warning

The default HSQLDB is ONLY sufficient for demo/trial versions of . All other production users MUST switch their software to a production quality database.

The following steps describe how to change the underlying database from the demo/trial HSQLDB to a production quality SQL database. The database configuration file frevvo.xml is located in <frevvo-home>/frevvo/tomcat/conf/Catalina/localhost directory.

Column
width240px

On This page:

Table of Contents
maxLevel1

 

...

Next, uncomment the pair of definitions for your database. Ex: if you are using SQL server, uncomment the definition for SQLSERVER Resource. Save the changes.

Code Block
 <!--
                SQLSERVER Resource  
   -->
  
          <Resource auth="Container"
                factory="org.apache.commons.dbcp.BasicDataSourceFactory"
                maxActive="200"
                maxIdle="20"
                maxWait="10000"
                validationQuery="select 1"
                testOnBorrow="true"
                testOnIdle="true"
                timeBetweenEvictionRunsMillis="10000"
                removeAbandoned="true"
                logAbandoned="true"
                name="jdbc/frevvoDS"
                driverClassName="net.sourceforge.jtds.jdbcx.JtdsDataSource"
                username="root"
                password=""
                type="javax.sql.DataSource"
                url="jdbc:jtds:sqlserver://localhost/frevvoSubmissions"/>
          <Resource auth="Container"
                factory="org.apache.commons.dbcp.BasicDataSourceFactory"
                maxActive="200"
                maxIdle="20"
                maxWait="10000"
                validationQuery="select 1"
                testOnBorrow="true"
                testOnIdle="true"
                timeBetweenEvictionRunsMillis="10000"
                removeAbandoned="true"
                logAbandoned="true"
                name="jdbc/userDS"
                driverClassName="net.sourceforge.jtds.jdbcx.JtdsDataSource"
                username="root"
                password=""
                type="javax.sql.DataSource"
                url="jdbc:jtds:sqlserver://localhost/users"/>

...

  1. Locate the frevvoDS data source url parameter.url="jdbc:jtds:sqlserver://localhost/frevvo"/>. You can change the name "frevvo" to whatever you wish, " for example. But it must match the database name you create in your SQL server. See verify connection Url below.
  2. Create a utf8 encoded database ""frevvo" (assuming you left the url parameter database name as the default) in your SQL server
  3. In the  installation locate the script <frevvo-home>/data/sql/forms-<database type>.sql. Ex: for mySQL the script is named <frevvo-home>/data/sql/forms-mysql5.sql
  4. Run that script in your "" database. That will create all the tables required to persist submissions
  5. Set the frevvoDS data source parameters username and password to a user that has write permissions to the "" database.
  6. The submissions database setup is now complete.

...

Configuration of the connection Url is key to successfully connection connect the  server to your database. Consult your DBA to assist with connection issues.

...

As of SQL 2000, Microsoft SQL allows installation of multiple SQL named instances. If your SQL server was installed this way you must use the instance parameter. For example if you database instance was named xyzzy:

Code Block
{<url>jdbc:jtds:sqlserver://e00sca:59377/frevvo;instance=xyzzy</url>

...

If you are trying a different database type and do not see an example in frevvo.xml for  your database, you can create a new data source entry. Hibernate supports the following dialects however  has only been certified to run with a subset of these databases. For additional dialects see Hibernate documentation. Database Setup

Info

See the certified database list above

...

for all the databases officially supported by frevvo.

  •  org.hibernate.dialect.HSQLDialect
  •  org.hibernate.dialect.MySQL5Dialect
  •  org.hibernate.dialect.MySQL5InnoDBDialect
  •  org.hibernate.dialect.Oracle9Dialect
  •  org.hibernate.dialect.OracleDialect
  •  org.hibernate.dialect.PostgreSQLDialect
  •  org.hibernate.dialect.SQLServerDialect
  •  org.hibernate.dialect.Sybase11Dialect

...

Via the configuration file:

Code Block
[mysqld]
default-character-set=utf8
default-collation=utf8_unicode_cicii

Via the mySQL cmd tool:

Code Block
ALTER DATABASE frevvo CHARACTER SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
--
ALTER DATABASE frevvo CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER DATABASE users CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE formsubmission CONVERT TO `frevvo16089`.`formsubmission` CHARACTER SET utf8 COLLATE utf8_unicode_ci;
--
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Run the SQL Scripts

What does it mean to run the SQL scripts? The *.sql file is a text file with SQL statements to be executed by the SQL server. Here is one ways way to run a an SQL script for a mySql database to create the tables needed by  on a windows box.

...