Shutting down Derby or an individual database
Derby Developer's Guide
29
Or, if the jar or zip file has been included in the classpath, like this:
jdbc:derby:/databasePathWithinArchive
Shutting down Derby or an individual database
Applications in an embedded environment shut down the Derby system by specifying
the shutdown=true attribute in the connection URL. To shut down the system, you do not
specify a database name, and you do not ordinarily specify any other attribute.
jdbc:derby:;shutdown=true
A successful shutdown always results in an SQLException to indicate that Derby has
shut down and that there is no other exception.
If you have enabled Derby BUILTIN user authentication at the system level (for
example, by setting the property derby.connection.requireAuthentication=true in the
derby.properties file), you will need to specify credentials (that is, username and
password) in order to shut down a Derby system, and the supplied username and
password must also be defined at the system level.
> Important: Derby's BUILTIN authentication mechanism is suitable only for
development and testing purposes. It is strongly recommended that production systems
rely on LDAP or a user-defined class for authentication. It is also strongly recommended
that production systems protect network connections with SSL/TLS.
You can also shut down an individual database if you specify the databaseName.
You can shut down the database of the current connection if you specify the default
connection instead of a database name(within an SQL statement).
// shutting down a database from your application
DriverManager.getConnection(
"jdbc:derby:sample;shutdown=true");
If user
and
are both enabled, only the
can shut down the database.
// shutting down an authenticated database as database owner
DriverManager.getConnection(
"jdbc:derby:securesample;user=joeowner;password=secret;shutdown=true");
Attention: It is good practice to close existing connections before shutting down the
system or database. Connections created before the shutdown will not be usable after
shutdown is performed. Attempting to access connections after shutdown may cause
errors including instances of
NullPointerException
or protocol violations.
Creating and accessing a database
You create a database by supplying a new database name in the connection URL and
specifying create=true.
Derby creates a new database inside a new subdirectory in the system directory. This
system directory has the same name as the new database. If you specify a partial path, it
is relative to the system directory. You can also specify an absolute path.
jdbc:derby:databaseName;create=true
For more details about create=true, see "create=true" in the Derby Reference Manual.
Providing a user name and password
When user authentication is enabled, an application must provide a user
name and password. One way to do this is to use the user=userName and
password=userPassword connection URL attributes.