JNDI Datasource Configuration
Adding a JNDI Datasource
Datasources can still be configured directly in Tomcat. Doing this can help ensure the connection does not get accidentally altered through the UI. The following example apply to Tomcat only. The user should refer to the application server manual on how to define a data source.
Make sure you have the SQL driver in JIRA_HOME/lib directory. The driver should be proper one for the type of the database you want to use.
Open JIRA_HOME/conf/context.xml file with your favorite text editor. Enter your data source, for instance, between the existing <Context> tags copy the following content:
Example for HSQLDB
<Resource name="TestDB" auth="Container" type="javax.sql.DataSource" username="sa" password="" driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:/tmp/somedb;create=true;" />
Restart Jira.
Check the settings in the Resource tag:
name: the name of the data source
username: The username used for the connection to the databasepassword: The password to connect to the database
driverClassName: The name of the class from the driver. The driver should be the proper jar archive for the type of the database used. In this example the type of the database used is hsqldb
url: The url used to connect to the database
Note
The Guide on how to configure a datasource is Apache Tomcat: Configuring a Datasource
Settings for Other Databases
PostgreSQL
<Resource name="TestDB"
auth="Container" type="javax.sql.DataSource"
username="sa"
password=""
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://127.0.0.1:5432/somedb"
/>
MySQL
<Resource name="TestDB"
auth="Container" type="javax.sql.DataSource"
username="sa"
password=""
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/somedb"
/>
If you want to use a column alias in a select sql and use that alias instead of column name you should add "?useOldAliasMetadataBehavior=true" as a configuration parameter in your JDBC url. This is due to a change in My SQL JDBC driver implementation starting from version 5.1.
More details can be found here: http://bugs.mysql.com/bug.php?id=35150 .
If you use this parameter in combination with other parameters please see also: http://bugs.mysql.com/bug.php?id=35753 .
Oracle
MS SQL Server
For MS Sql Server 2000 the instance name should be omitted from the url, even if connecting to a named instance, so the url attribute should be: url="jdbc:jtds:sqlserver://localhost:1433/somedb".
AS400
Firebird
More Configuration Guides
Contents
- 1 Adding a JNDI Datasource
- 1.1 Note
- 2 Settings for Other Databases
- 2.1 PostgreSQL
- 2.2 MySQL
- 2.3 Oracle
- 2.4 MS SQL Server
- 2.5 AS400
- 2.6 Firebird
- 3 More Configuration Guides