Java Persistent Objects JDO (JPOX) operates using a JDBC driver for connectivity to RDBMS. RDBMS systems accept varying standards of SQL and so JPOX will support particular RDBMS/JDBC combinations only, though clearly we try to support as many as possible. The table below shows the versions of RDBMS and JDBC driver that JPOX has been tested with
If you have success with any other hardware platform combinations for the above RDBMS or indeed with any other RDBMS, please let us know so we can update our compatibility guide.
MySQL is supported as a RDBMS datastore by JPOX however only the INNODB table type is supported (all table types should be fully supported for MySQL ver 5.0 due to features that will be included in that release - foreign key support, Views etc). The user needs to make sure that INNODB table types are available in their version of MySQL. Note also that while SubSELECTS are not implemented until ver 4.1, we use UNIONs so are not affected. The isEmpty() operation for Collections and Maps will not work with MySQL 4.0 since the query uses EXISTS and this is only available from version 4.1. To specify MySQL as your datastore, you will need something like the following specifying (replacing 'db-name' with name of your database etc)
javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver
javax.jdo.option.ConnectionURL=jdbc:mysql://'host':'port'/'db-name'
javax.jdo.option.ConnectionUserName='user-name'
javax.jdo.option.ConnectionPassword='password'
To specify MS SQL as your datastore, you will need something like the following specifying (replacing 'db-name' with name of your database etc)
javax.jdo.option.ConnectionDriverName=com.microsoft.jdbc.sqlserver.SQLServerDriver
javax.jdo.option.ConnectionURL=jdbc:microsoft:sqlserver://'host':'port';DatabaseName='db-name';SelectMethod=cursor
javax.jdo.option.ConnectionUserName='user-name'
javax.jdo.option.ConnectionPassword='password'
To specify Oracle as your datastore, you will need something like the following specifying (replacing 'db-name' with name of your database etc) ... you can also use 'oci' instead of 'thin' depending on your driver.
javax.jdo.option.ConnectionDriverName=oracle.jdbc.driver.OracleDriver
javax.jdo.option.ConnectionURL=jdbc:oracle:thin:@'host':'port':'db-name'
javax.jdo.option.ConnectionUserName='user-name'
javax.jdo.option.ConnectionPassword='password'
To specify Sybase as your datastore, you will need something like the following specifying (replacing 'db-name' with name of your database etc)
javax.jdo.option.ConnectionDriverName=com.sybase.jdbc2.jdbc.SybDriver
javax.jdo.option.ConnectionURL=jdbc:sybase:Tds:'host':'port'/'db-name'
javax.jdo.option.ConnectionUserName='user-name'
javax.jdo.option.ConnectionPassword='password'
HSQL is supported as a RDBMS datastore by JPOX however in-memory and stand-alone modes don't work. You should use server mode. To specify HSQL as your datastore, you will need something like the following specifying (replacing 'db-name' with name of your database etc)
javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
javax.jdo.option.ConnectionURL=jdbc:hsqldb://'host':'port'/'db-name'
javax.jdo.option.ConnectionUserName='user-name'
javax.jdo.option.ConnectionPassword='password'
McKoi is supported as a RDBMS datastore by JPOX however inheritance is not supported for this database. JPOX uses the SQL clause UNION in inheritance and McKoi does not support it. In addition, JPOX cannot validate datastore information with McKoi because the McKoi JDBC driver doesn't provide sufficient information. To specify McKoi as your datastore, you will need something like the following specifying (replacing 'db-name' with name of your database etc)
javax.jdo.option.ConnectionDriverName=com.mcKoi.JDBCDriver
javax.jdo.option.ConnectionURL=jdbc:mckoi://'host':'port'/'db-name'
javax.jdo.option.ConnectionUserName='user-name'
javax.jdo.option.ConnectionPassword='password'
To specify PostgreSQL as your datastore, you will need something like the following specifying (replacing 'db-name' with name of your database etc)
javax.jdo.option.ConnectionDriverName=org.postgresql.Driver
javax.jdo.option.ConnectionURL=jdbc:postgresql://'host':'port'/'db-name'
javax.jdo.option.ConnectionUserName='user-name'
javax.jdo.option.ConnectionPassword='password'
If you need to pass additional parameters to the JDBC driver you can append these to the end of the javax.jdo.option.ConnectionURL. For example, javax.jdo.option.ConnectionURL=jdbc:mysql://localhost?useUnicode=true&characterEncoding=UTF-8 |