deregister=false attribute


If set to true (the default), deregisters the embedded JDBC driver from the DriverManager after a shutdown, so that the Derby classes can be garbage-collected.

If you are running with a security manager on JDK 8 or higher, you must grant the following permission to derby.jar to allow the JDBC driver to be deregistered:

permission java.sql.SQLPermission "deregisterDriver";

See "Granting permissions to Derby" in the Derby Developer's Guide for details. If you do not grant this permission when using a security manager, an error message and stack trace will appear in derby.log on shutdown, and the embedded JDBC driver will remain registered.

If you are running with a security manager on JDK 7 or earlier, you do not need to set this permission.

You initially register the embedded driver by doing one of the following:

Once the embedded driver is registered, you can shut down the Derby engine by using the shutdown=true connection URL attribute. If you also specify deregister=false with the shutdown URL, the following will happen:

In contrast, if you use the default setting of deregister=true when you shut down the database, the following will happen:

This attribute has no meaning if it is used with the network driver.

Combining with other attributes

This attribute is valid only when issued in conjunction with the shutdown=true attribute.


-- shut down salesDB and deregister the driver
-- shut down salesDB, but do not deregister the driver