O Network Server pode ser inicializado automaticamente em outra thread quando o Derby é inicializado, definindo a propriedade derby.drda.startNetworkServer (consulte Definição das propriedades do Network Server), ou pode ser inicializado utilizando um programa. O exemplo a seguir mostra como inicializar o Network Server utilizando um programa:
import org.apache.derby.drda.NetworkServerControl; import java.net.InetAddress; NetworkServerControl servidor = new NetworkServerControl (InetAddress.getByName("localhost"),1527); servidor.start(null);
O programa que inicializa o Network Server pode acessar o banco de dados usando tanto o driver incorporado quanto o driver cliente da rede. A tentativa da estrutura servidora de inicializar o driver de JDBC local é ignorada, porque o mesmo já foi inicializado dentro da JVM do aplicativo. A estrutura servidora simplesmente acessa a instância do Derby que já está inicializada. Não há conflito entre o aplicativo e a estrutura servidora.
O cliente remoto pode então conectar através do driver cliente do Derby:
String nsURL="jdbc:derby://localhost:1527/amostra";
java.util.Properties props = new java.util.Properties();
props.put("user","usr");
props.put("password","pwd");
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
Connection conn = DriverManager.getConnection(nsURL, props);
/*interagir com o Derby*/
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery(
"SELECT * FROM RESERVAS_HOTEL");