You can start the Network Server in another thread automatically
when starts by setting
the derby.drda.startNetworkServer property (see ), or you can start it by using a program. The following example shows how to start the Network Server by using a program:
import org.apache.derby.drda.NetworkServerControl;
import java.net.InetAddress;
NetworkServerControl server = new NetworkServerControl
(InetAddress.getByName("localhost"),1527);
server.start(null);
The program that starts the Network Server can access the database
by using either the embedded driver or the Network Client driver.
The server framework's attempt to boot the local JDBC driver is ignored because
it has already been booted within the application's JVM. The server framework
simply accesses the instance of that is already booted. There is no conflict between the application and the server framework.
The remote client can then connect through the client
driver:
String nsURL="jdbc:derby://localhost:1527/sample";
java.util.Properties props = new java.util.Properties();
props.put("user","usr");
props.put("password","pwd");
/*
If you are running on JDK 1.6 or higher, then you do not
need to invoke Class.forName(). In that environment, the
EmbeddedDriver loads automatically.
*/
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
Connection conn = DriverManager.getConnection(nsURL, props);
/*interact with */
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery(
"SELECT * FROM HotelBookings");