OpenWGA 7.10 - OpenWGA Concepts and Features

Content Stores » Platforms

Oracle

The Oracie database server is an enterprise grade relational database platform of the Oracle corporation.

Support for this server platform is only available on the OpenWGA Enterprise Edition.

OpenWGA supports content stores on Oracle servers of version 9.2 or higher.

Preparations

You need to use the OCI JDBC driver (JDBC type 2) that comes with your server platform. Use a version of 9.2.0.3 or higher.

Databases on the Oracle database server cannot be automatically created using the OpenWGA admin client. The procedure is as follows if you do not use an external connection pool:

  • Download the Supply Package for OpenWGA EE from the Customer Center of www.innovationgate.com. You need to use your IG customer login to proceed to the downloads. Extract it and find the file wgacs_oracle.ddl, containing the data definition script for content stores on Oracle
  • Create a new database on your Oracle server and initialize it with the data definition script
  • Install the "Oracle Client" software coming with your server platform on the server that runs OpenWGA. Be sure to use a version that matches your Oracle server version.
  • Use the "Net Configuration Assistant" program to create a new "Net Service Name", pointing to your just created database

Put the JDBC driver JAR files into the classpath of your application server:

  • When you have installed OpenWGA via official debian packages or linux installer just put driver files into the folder "/var/lib/openwga/tomcat/lib"
  • If you used the official linux installer you can put them into "/opt/tomcat/lib"
  • In OpenWGA Developer Studio just open the configuration of your runtime project by double-clicking the file "runtime.xml", go to register "configuration" and add the files there in section "Tomcat Libraries".

You should also add the following Java system property to the OpenWGA/Java server process:

hibernate.jdbc.use_streams_for_binary = true

  • If you installed OpenWGA via official debian packages open the file "/etc/openwga/server.conf.local" and add " -Dhibernate.jdbc.use_streams_for_binary=true" to the end of the contents of variable CATALINA_OPTS which is defined there.
  • If you used the official linux installer you will find the same variable defined in a file "/etc/tomcat.conf".
  • In OpenWGA Developer Studio just open the configuration of your runtime project by double-clicking the file "runtime.xml", go to register "configuration" and add the entry as a new line into field "additional vm options".

You will need to restart the OpenWGA server after adding the JAR file and setting the system property.

Connecting

OpenWGA cannot query the Oracle server for available databases because of the Net Service Name architecture. Therefor connecting to an Oracle database is a bit different than on other platforms.

  • Create a database server of type "Oracle" in OpenWGA Admin Client. Specify the following as JDBC/JDNI base path: jdbc:oracle:oci8:@
  • Create a web application in OpenWGA Admin Client. In content store configuration specify your Oracle server, then specify the name of your Net Service Name as "JDBC/JNDI path extension"

Queries

The data of text items in Oracle content stores are store in columns of type CLOB. This data type cannot directly be used for SQL conditions, so this is also not possible for HQL. Directly testing the contents of item text values in SQL or HQL will therefor fail:

content.items['textitem'].text = 'value'


To query the contents of text items you need to convert it into VARCHAR using oracle SQL function TO_CHAR().:

TO_CHAR(content.items['textitem'].text) = 'value'