User Tools

Site Tools


Connect to an External Database

An Author may create SQL queries to be run in a database from within the EASAP Builder.

To configure a connection to the database:

  • The required driver must be uploaded to the EASA Server
  • Specific database connections must be defined

Upload a Database Driver

EASA is written in Java™ therefore, it uses Sun’s JDBC™ technology database connections. As a result, EASA needs a JDBC technology-enabled driver for making a connection to an external database. A JDBC driver has a .jar file extension.

Each database, such as SQL Server™, Oracle®, MySQL®, Sybase®, etc., requires its own driver.

EASA only includes a set of JDBC drivers for ODBC type databases. See:

  • EASA→Administrator→Configure→Databases→Configure Drivers

Once you have the appropriate JDBC driver, upload this driver to the EASA Server before configuring the connection to your database. Follow the instructions below to upload your driver:

  • Open a web browser and go to the EASA web address.
  • Log in and set: EASA→Set Mode→Administrator
  • Select Configure→Databases.
  • Click on the Configure Drivers link.
  • Click on Browse to find and select the .jar driver file.

Some JDBC drivers come in the form of .zip files. If so, simply rename them to have a .jar extension prior to uploading the files.

  • Click on Upload button.
  • Finally, stop and restart the EASA Server for the new database driver to be recognized.
    • Do one of the following:
      • Use the Stop EASA and Start EASA shortcuts on the desktop
      • Restart the EASA service

Tip: Use an EASA Announcement to notify Users when the EASA Server will be restarted, see Communicating with EASA Users.

The JDBC driver has now been uploaded to the EASA Server and is now enabled to connect to the database.


Define a Database Connection

Once the correct JDBC driver is located on the EASA Server, configure and connect to the new database connection:

  • Open a web browser, go to the EASA web pages.
  • Log in to EASA
  • Set mode to Administrator.
  • Select EASA→Configure→Databases menu.
  • Click on the Configure Databases link.
  • Click on the Add New Database button located below the existing database connections.
  • On the New Database form select the Database Type: from choices available in the list.
  • Specify Database Name: which will be used by authors when selecting a database to access.
  • Specify the URL:, or address, pointing to the location of the database.
    • → For StockData to work from a remote EASAP Server replace localhost with a hostname or IP address

Tip: For more information on database URLs, please refer to the document opened by clicking on the Click here for a list of database drivers and urls link located on the New Database page.

  • Next, if needed, specify the User Name: and Password: to be used when connecting to the database.
  • At this point, you should select the appropriate driver by providing its Driver Name.
  • For testing purposes a Validation Query: can be entered.
    • Generate Optimal Validation Query automatically creates valid SQL for the specific database.
  • Advanced Settings will override the database connection pool defaults.
  • Click Save to complete the definition of the database connection.

At this point, you will be brought back to the Configure Databases page and you should see the new database in the table with its Status displayed as ‘unknown’. The final step is to run a test to establish the connection by

  • Click the Run Test button ()

If the test connection was successful, then you should see the message Test passed and the results of the Validation Query on the Test Results page, which is displayed after the Run Test button is pressed. Also, when you return to the Configure Databases page, you should see a Status of ‘active’ followed by the date and time of the last successful test for your new database connection.

Note: Validation Query: is not mandatory, but if one is specified it must return some data. A completely empty or null result will cause an error to be returned. Query Tester allows queries to be repeatedly modified and run.

If the test connection failed, you will see error messages on the Test Results page. You will need to go back and make modifications or corrections to the database connection settings as described in the next section, until the test connection is successful.


Change the Database Port Number

EASA's default database changed from EASA 5.5 to EASA 6.0.

To change the database port, follow the relevant instructions below:


Change the Database port in EASA 5.5 and earlier

Modify the two files below:

  • <SERVERDATA>\admin\config\context.properties
    • easa.db.port=new_port_number
  • <EASAROOT>\EASA5.2\webapps\easa\WEB-INF\classes\hibernate.cfg.xml
    • <property name=“hibernate.connection.url”>
      • jdbc:hsqldb:hsql://localhost:new_port_number/easa;SCHEMA=EASA;hsqldb.write_delay=false;
    • </property>
  • Restart the service

Change the Database port in EASA 6.0 and later

  • If MySQL has not yet been installed, modify:
    • <SERVERDATA>\admin\config\context.properties
      • easa.db.port=new_port_number
  • If MySQL has already been installed update the port number in the following file:
    • <EASAROOT>\db\mysql-5.7.17-win32\my.ini
  • In either case above the following three files must be updated with the new port number:
    • <SERVERDATA>\easa\admin\config\
      • easa.cfg.xml
    • <SERVERDATA>\easa-share\admin\config\
      • excel.cfg.xml
      • excelTesting.cfg.xml
  • Restart the service

Change the character set used by the database

Excel uses ANSI which is a machine dependent character set.

Follow the two steps below to change the character set to a standard, utf8 in this example.

  1. Update two properties in the following two files
    • <SERVERDATA>\easa-share\admin\config\
      • excel.cfg.xml
      • excelTesting.cfg.xml
    • <property name=“hibernate.connection.CharSet”>utf8</property>
    • <property name=“hibernate.connection.characterEncoding”>utf8</property>
  2. Modify the database schema; run the script below
SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE exceltesting.data CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE exceltesting.named_range CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE excel.data CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE excel.named_range CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
SET FOREIGN_KEY_CHECKS=1;
ALTER DATABASE exceltesting CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER DATABASE excel CHARACTER SET utf8 COLLATE utf8_general_ci;

Total Number of Connections

When there are remote servers set up to run EASAPs, the database configurations will apply to each server individually. These remote servers don't use the EASA server in connecting to the database but make direct connections instead based on the configurations.

What that means is that the following parameters are not global values but are applied to each remote server:

Name of Parameter Use Recommended Value
Initial Pool Size The number of connections that are maintained at all times. 0
Max Active Connections The maximum number of connections can be active at any point in time. Double the amount of the maximum Excel processes available.
Max Idle Connections The maximum number of connections at any point in time. Double the amount of the maximum Excel processes available.
Min Idle Connections The minimum number of connections at any point in time. Same as the Initial Pool Size.

For example, if there is a desired maximum number of global connections to the database at any given time, it should be divided by the number of total EASAP Servers and the result should be used as a starting point to configure the above values.


Visibility Between Remote Servers

There are two ways a remote EASAP/Excel Server and a database server may connect:

  • Direct connection between EASAP/Excel Server machine (recommended)
  • Via EASA Server as a proxy server that will pass database traffic back and forth

Which is the better option? It depends on the network layout (Are the machines visible to each other?)

  • EASA→Administrator→Configure→Databases→Configure Databases→Advanced Settings
    • Allow Direct Connectiontrue
      • Enables a direct connection between the two servers
    • Allow Direct Connectionfalse
      • Makes the EASA Server act as a proxy for communication between the two servers
      • Easa Proxy Port
        • Will be used by the remote machine to communicate with the EASA Server.

Oracle-specific Proxy Configuration

To use the EASA Server as a proxy server with an Oracle database, the database must be configured to allow 'transparent proxy' and will require configuring the EASA Server as an Oracle API Gateway. See:

https://docs.oracle.com/cd/E39820_01/doc.11121/gateway_docs/content/common_transparent_proxy.html


Modify a Database Connection

If you need to modify the definition of your database connection, for example to switch to a new driver or to change the URL to a new location of the database, then you can edit the connection directly from the Configure Databases table. The steps for modifying a database connection are as follows:

  1. Click on the box next to the database in the table and then click the Edit Database button.
  2. Make your changes on the Edit Database form.
  3. Click on the Save button.
  4. Finally, you can click on the Run Test button () to test and review the modification to the database connection.

If you need to delete a database connection, click on the check box next to the database in the table and then click the Delete button.


Remove Database Drivers

To remove old JDBC drivers, follow these steps:

  • Stop the EASA service on the EASA Server
  • Remove the driver file from:
    • <SERVERDATA>\drivers
  • Start the EASA service

To remove an old JDBC driver on EASA versions 4.3 or older, follow these steps:

  • Stop the EASA service on the EASA Server
  • On the EASA Server:
    • Remove the driver file from
      • <EASAROOT>\webapps\easa\WEB-INF\lib
    • Remove the corresponding line from the file:
      • <EASAROOT>\webapps\easa\WEB-INF\lib folder\db.properties
      • Start the EASA service

Page Tools