# Exemplo de servidor incorporado

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");

Tópico pai: O Derby em uma estrutura servidora
Conceitos relacionados
Configurações de conectividade
Funcionalidades disponíveis no Derby para atender vários clientes
O Network Server do Derby
Servidores incorporados
Como inicializar o servidor incorporado a partir de um aplicativo