Derby supports
the JDBC API defined for the Connected Device Configuration/Foundation Profile,
also known as JSR 169. The features supported are a subset of the JDBC 3.0
specification. Support for JSR 169 is limited to the embedded driver.
Derby does not support using
the Network Server under JSR 169.
To obtain a connection using JSR 169, use the
org.apache.derby.jdbc.EmbeddedSimpleDataSource class.
This class is identical in implementation to the org.apache.derby.jdbc.EmbeddedDataSource class.
See the Derby Developer's Guide for information
on using the properties of the org.apache.derby.jdbc.EmbeddedDataSource class.
Some other features to note concerning JSR 169 and its
Derby implementation:
- Applications must get and set DECIMAL values using alternate
JDBC getXXX and setXXX methods, such as getString() and setString().
Any alternate method that works against a DECIMAL type with JDBC 3.0
will work in JSR 169.
- JSR 169 does not support Java functions and procedures that use server-side
JDBC, that is, routines declared with CONTAINS SQL,
READS SQL DATA, or MODIFIES SQL DATA clauses.
- JSR 169 does not support the DriverManager interface, so
you cannot use the DriverManager.getConnection method to obtain
a connection.
- JSR 169 does not support the standard URL used to obtain a connection,
jdbc:default:connection. A runtime error may occur if the
routine tries to obtain a connection using
jdbc:default:connection.
- The Derby implementation
of JSR 169 does not support the following features:
- Diagnostic tables
- Triggers
- Encrypted databases
- The XML data type (however, an application can retrieve, update, query, or
otherwise access an XML data value if it has classes for a JAXP parser and for
Xalan in the classpath; Derby
issues an error if either the parser or Xalan is not found)
- Non-blocking I/O
- Java EE resource manager support, including distributed transactions
- Principal-based security
- LDAP-based authentication
- SSL/TLS encryption
- Replication