2010-12-31 12 views
5

Ho un database Derby che viene distribuito insieme con la mia webapp per WEB-INF/classes/mydbJDBC URL di collegamento per Embedded Derby in una webapp

Quale dovrebbe essere il mio jdbc.connection url quella di collegare in modo che possa scrivere nel database?

sto cercando

jdbc:derby:myDb; 

e non riesco a trovare il database. Devo essere in grado di modificare il database. Se metto classpath: myDb, lo trova, ma sfortunatamente è letto solo per i documenti derby.

risposta

4

ho risolto impostando la mia connessione JDBC in fase di esecuzione e l'utilizzo di:

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

+1: Ho dovuto fare cose molto simili me (la mia soluzione era una classe fabbrica di primavera personalizzato ha fatto la riscrittura, ma questo è concettualmente quasi identico) e devo ancora vedere idee sostanzialmente migliori. Intendiamoci, si potrebbe anche sostenere che in una distribuzione di produzione, i file webapp non dovrebbero essere affatto scrivibili, quindi richiedere una connessione al database esterno ... –

Problemi correlati