I am working on a desktop application which uses JavaDB.
I am using NetBeans 6.8 and JDK 6 Update 20
I created the database I need and connected to it through my application using ClientDriver:
String driver = "org.apache.derby.jdbc.ClientDriver";
String connectionURL = "jdbc:derby://localhost:1527/myDB;create=true;user=user;password=pass";
try {
Class.forName(driver);
} catch (java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
try {
schedoDBConnection = DriverManager.getConnection(connectionURL);
} catch (Exception e) {
e.printStackTrace();
}
This works fine. But in that case the service of the database comes from NetBeans. If I move my application to another PC I won’t be able to access my database. How can I integrate my JavaDB into my application?
NetBeans starts Derby in Network Server mode and Derby is running in another JVM. If you want to embed your database inside an application, you’ll need to start Derby in embedded mode from within your application. To do so, use the
EmbeddedDriverprovided byderby.jar.By default, the database will be created/loaded from the working directory. If you want more control, the recommended way is to set the
derby.system.homesystem property. Have a look at Using Java DB in Desktop Applications.See also