2012-08-03 13 views
6

Para pruebas unitarias, uso una base de datos derby en memoria.¿Cómo navegar por una base de datos de memoria derby con Eclipse Datasource Explorer?

¿Hay alguna posibilidad de conectarse a esta base de datos usando una herramienta como Eclipse Datasource Explorer cuando se está ejecutando la prueba?

I Googled mucho ya veces me encontré con algo como:

Conexión-URL: jdbc: derby: // localhost: 1527/memoria/mibd ...

Pero no funcionó para mí .

Dice que 1527 es el puerto predeterminado.

¿Es posible conectarse a una base de datos de memoria derby con una herramienta como eclipse explorer? ¿La base de datos abre un puerto de conexión para conectarse? ¿O hay algo especial que tengo que configurar para que esto funcione?

Gracias, Alex

Respuesta

4

Hola después de algunas investigaciones más me dio la solución.

Para conectarse a una base de datos de memoria derby integrada, debe iniciar el NetworkServerControl en su aplicación. Después de eso, puede conectarse a la base de datos derby utilizando, por ejemplo, el eclipse DTP Plugin/Datasource Explorer.

El código para crear la base de datos en memoria y para iniciar el NSC podría tener este aspecto:

public static void main(String args[]) 
{ 
    NetworkServerControl nsc = new NetworkServerControl(InetAddress.getByName("localhost"), 1527); 
    nsc.start(new PrintWriter(System.out, true)); 

    Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); 

    Connection c = DriverManager.getConnection("jdbc:derby:memory:testdb;create=true"); 

} 

Usted tiene que incluir la derby.jar & derbynet.jar que viene con el JDK7 (lib \ db) para poder crear el NetworkServerControl y la base de datos.

Después de eso, puede conectarse a la base de datos siempre que su aplicación (y la base de datos) esté ejecutándose. Conexión -URL es: jdbc: derby: // localhost: 1527/memoria: testdb

de usuario y contraseña: su elección

Saludos,

Alex

Cuestiones relacionadas