background image
<< JDBC application and Derby basics | Derby system >>
<< JDBC application and Derby basics | Derby system >>

Derby JDBC database connection URL

Derby Developer's Guide
17
The Derby driver class name for the embedded environment is
org.apache.derby.jdbc.EmbeddedDriver.
In a Java application, you typically load the driver with the static Class.forName method
or with the jdbc.drivers system property. For example:
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
java -Djdbc.drivers=org.apache.derby.jdbc.EmbeddedDriver applicationClass
For detailed information about loading the Derby JDBC driver, see "java.sql.Driver
interface" in the Derby Reference Manual.
If your application runs on JDK 6 or higher, you do not need to explicitly load the
EmbeddedDriver
. In that environment, the driver loads automatically.
If your application shuts down Derby or calls the DriverManager.deregisterDriver method,
and you then want to reload the driver, call the Class.forName().newInstance() method.
Derby JDBC database connection URL
A Java application using the JDBC API establishes a connection to a database by
obtaining a Connection object.
The standard way to obtain a
Connection
object is to call the method
DriverManager.getConnection
, which takes a String containing a connection URL
(uniform resource locator). A JDBC connection URL provides a way of identifying a
database. It also allows you to perform a number of high-level tasks, such as creating a
database or shutting down the system.
An application in an embedded environment uses a different connection URL from that
used by applications using the Derby Network Server in a client/server environment. See
the Derby Server and Administration Guide for more information on the Network Server.
However, all versions of the connection URL (which you can use for tasks besides
connecting to a database) have common features:
· you can specify the name of the database you want to connect to
· you can specify a number of attributes and values that allow you to accomplish
tasks. For more information about what you can specify with the Derby connection
URL, see
Database connection examples
.
The connection URL syntax is as follows:
jdbc:derby:[subsubprotocol:][databaseName][;attribute=value]*
Subsubprotocol, which is not typically specified, determines how Derby looks for a
database: in a directory, in memory, in a class path, or in a jar file. Subsubprotocol is one
of the following:
· directory: The default. Specify this explicitly only to distinguish a database that
might be ambiguous with one on the class path.
· memory: Databases exist only in main memory and are not written to disk. An
in-memory database may be useful when there is no need to persist the database --
for example, in some testing situations.
· classpath: Databases are treated as read-only databases, and all databaseNames
must begin with at least a slash, because you specify them "relative" to the
classpath directory. See
Accessing databases from the classpath
for details.
· jar: Databases are treated as read-only databases. DatabaseNames might require
a leading slash, because you specify them "relative" to the jar file. See
Accessing
databases from a jar or zip file
for details.