Connection to postgreSQL
This document explains the specific aspect of connecting Cocoon to a PosgreSQL Database.
For a general explanation on database connection please refer to the official documentation.
Downloading the jdbc drivers
The jdbc drivers can be downloaded here.
Drop the pgjdbc2.jar file either in $COCOON_HOME/web-inf/lib or $TOMCAT_HOME/common/lib/.
Setting Web.xml
In the $Cocoon_Home/WEB-INF/ directory you will find the web.xml file. Open it and look for this rows
<init-param>
<param-name>load-class</param-name>
<param-value>
<!--
For IBM WebSphere:
com.ibm.servlet.classloader.Handler ..-->here you have to add the following line:
<!-- For PostgreSQL: -->
org.postgresql.Driver
Setting cocoon.xconf
search for: <datasources> add into this element these lines:
<jdbc name="YourPoolName">
<pool-controller min="5" max="10"/>
<dburl>jdbc:postgresql://YourServerName:5432/DB_Name</dburl>
<user>YourUsername</user>
<password>YourPassword</password>
</jdbc>
Setting sitemap.xmap
When you want to use the connection you just call the jdbc name inside the pipeline in this way:
<map:match pattern="sqlquery">
<map:generate src="sql/sqlquery.xml"/>
<map:transform type="sql">
<map:parameter name="use-connection" value="YourPoolName"/>
</map:transform>
<map:transform type="xslt" src="../stylesheets/transformation.xslt"/>
<map:serialize type="svg2jpeg"/>
</map:match>Obviously you have to adapt this sample to fill your need.
SpecificDatabaseConnection