2010-12-31 10 views
5

que tiene una base de datos Derby que se implementa junto con mi aplicación web a WEB-INF/classes/myDBURL de conexión JDBC para Derby Embedded en un Webapp

Cuál debería ser mi jdbc.connection url para conectar de modo que pueda escribir en la base de datos?

Estoy tratando

jdbc:derby:myDb; 

y no puedo encontrar la base de datos. Necesito poder modificar la base de datos. Si pongo classpath: myDb, lo encuentra, pero desafortunadamente solo se lee por los documentos derby.

Respuesta

4

Lo resuelto mediante el establecimiento de mi URL de conexión JDBC en tiempo de ejecución y el uso de:

 StringBuilder derbyUrl = new StringBuilder("jdbc:derby:"); 
     derbyUrl.append(servletContext.getRealPath("/")); 
     derbyUrl.append("/WEB-INF/classes/myDb;"); 
     dataSource.setUrl(derbyUrl.toString()); 
+0

+1: Yo he tenido que hacer cosas muy similares a mí mismo (mi solución era una clase de fábrica personalizada Primavera hizo la reescritura, pero eso es conceptualmente casi idéntico) y aún no he visto ninguna idea sustancialmente mejor. Tenga en cuenta que también podría argumentar que, en una implementación de producción, los archivos de aplicaciones web no deberían poder escribirse, por lo que se requiere una conexión de base de datos externa ... –

Cuestiones relacionadas