...
Section |
---|
Column |
---|
Data Sources describes two ways to configure data sources for the macros provided by the SQL. This page focuses on application server based data source configurations. The data source is refenced using the dataSource (Data source name) parameter. The exact configuration of a data source is application server and database specific. The configuration must be done by a Conflunece administrator and the Confluence application server must be restarted for changes to be active. The configuration must be done very carefully as any errors will result the data source being unusable . Each database you need to access in Confluence needs to a have a data source configuration. These are the major elements of the configuration - Application server data source configuration - consult your application server documentation on how this is done and problem determination mechanisms. Note that the configuration may be specific to the application server version. For example, older Tomcat versions have some different configurations.
- JDBC driver specific for the database to be accessed - consult your database documentation and other sources for the best JDBC driver to use.
- Installation of JDBC driver on the application server
- Database access - consult your database documentation on how to configure your database for access
Various users have provided some examples that covers many standard situations. This page can be used to share that type of information as well as problem determination information. This is the best place to start especially if you are not an expert in this area. |
Column |
---|
Info |
---|
title | Just Upgraded Confluence? |
---|
| A common problem is errors after upgrading Confluence. Ensure that your upgrade procedures include updating your server.xml and copying all the JDBC drivers you use into the appropriate location. Also, check out this page for isolating these or application server version differences that cause problems. If you get errors immediately after an upgrade, this is the most likely cause. |
Info |
---|
title | Updated documentation |
---|
| This page is updated from a previous version that has been archived as SQL plugin for Confluence datasource configuration. The former page has been kept as a reference for links and comments. Some of the comments are still useful as they represent user questions and user contributed configurations and solutions. However, some of the information is also out dated. |
|
|
...
Tip |
---|
title | Resource must be within the confluence context tag |
---|
|
No Format |
---|
...
<Context path="" docBase="../confluence" debug="0" reloadable="false">
...
<Resource ... />
...
</Context>
|
|
Tip |
---|
title | Consider using a validation query |
---|
|
See this stack overflow question. |
...
Database examples
The sql macro markup would be: {sql:dataSource=myDS| ... }
...
Database, Information, JDBC driver example, Resource configuration
PostgreSQL, [PostgreSQL JDBC|http://jdbc.postgresql.org/], postgresql-8.2-507.jdbc3.jar, "{noformat}
<Resource name=""jdbc/myDS""
auth=""Container""
type=""javax.sql.DataSource""
username=""confluence""
password=""confluence""
maxActive=""100""
maxIdle=""10""
driverClassName=""org.postgresql.Driver""
url=""jdbc:postgresql://localhost:5432/confluence""
validationQuery=""Select 1""
/>{noformat}"
MySQL, [MySql connector|http://dev.mysql.com/downloads/connector/j/5.1.html], mysql-connector-java-3.1.14-bin.jar, "{noformat}
<Resource name=""jdbc/myDS""
auth=""Container""
type=""javax.sql.DataSource""
driverClassName=""com.mysql.jdbc.Driver""
url=""jdbc:mysql://localhost/mydatabase?autoReconnect=true""
username=""username""
password=""password""
maxActive=""25""
maxIdle=""5""
maxWait=""10000""
/> {noformat}\\ See SQL-146 for info on how to configure multiple result sets."
Oracle, Thin Driver\\ [Oracle 11g JDBC|http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html]\\ [Oracle 12c JDBC|http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html], ojdbc6.jar\\ ojdbc7.jar, "{noformat}
<Resource
name=""jdbc/myDS""
auth=""Container""
type=""javax.sql.DataSource""
driverClassName=""oracle.jdbc.OracleDriver""
url=""jdbc:oracle:thin:@www.some_server.com:1521:mysid""
username=""username""
password=""password""
connectionProperties=""SetBigStringTryClob=true""
maxActive=""25""
maxIdle=""5""
maxWait=""10000""
/> {noformat}"
Oracle Advanced, Thin Driver \\ [Oracle 11g JDBC|http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html]\\ [Oracle 12c JDBC|http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html], ojdbc6.jar\\ ojdbc7.jar, See [Tomcat 6.0 using Oracle Universal Connection Pool|http://www.oracle.com/technetwork/articles/oem/ucp-jdbc-tomcat-355431.html]
Microsoft SQL Server, [jtds driver|http://jtds.sourceforge.net/], jtds-1.2.2.jar, "{noformat}
<Resource
name=""jdbc/myDS""
auth=""Container""
type=""javax.sql.DataSource""
driverClassName=""net.sourceforge.jtds.jdbc.Driver""
url=""jdbc:jtds:sqlserver://mysqlserver:1433/mydatabase""
username=""username""
password=""password""
maxActive=""20""
maxIdle=""10""
maxWait=""-1""
/> {noformat}"
DB2 for IBM i, [JTOpen|http://www-03.ibm.com/systems/i/software/toolbox/troubleshooting.html], jt400.jar, "{noformat}
<Resource
name=""jdbc/myDS""
auth=""Container""
type=""javax.sql.DataSource""
driverClassName=""com.ibm.as400.access.AS400JDBCDriver""
url=""jdbc:as400://ibmi;prompt=false;translate binary=true; extended metadata=true""
username=""username""
password=""password""
maxActive=""20""
maxIdle=""10""
maxWait=""-1""
/>{noformat}"
Derby, [Derby|http://db.apache.org/derby/], derbyclient.jar, "{noformat}
<Resource
name=""jdbc/myDS""
auth=""Container""
type=""javax.sql.DataSource""
driverClassName=""org.apache.derby.jdbc.ClientDriver""
url=""jdbc:derby://localhost:1527/dbname""
username=""username""
password=""password""
maxActive=""20""
maxIdle=""10""
/>{noformat}"
|
Other databases
Support for other databases depends on the capabilities provided by the JDBC driver. The SQL expects certain JDBC features to be available. In some cases, parameter choices can affect which capabilities are needed. User testing and community support is about the only help that is available for less popular databases/JDBC drivers. If you have had success with other databases, please add information to this page.
...