2010-12-31 14 views
5

Mam bazę danych derby, który jest wdrożony wraz z moim webapp do WEB-INF/classes/MojaBDJDBC Connection URL dla osadzonego Derby w webapp

Jaki powinien być mój jdbc.connection url połączyć tak, że mogę napisać do bazy danych?

Staram

jdbc:derby:myDb; 

i nie może znaleźć bazy danych. Muszę móc modyfikować bazę danych. Jeśli umieściłem classpath: myDb, znajdzie to, ale jest niestety tylko do odczytu na dokumentach derby.

Odpowiedz

4

i rozwiązać go przez ustawienie mojego jdbc url połączenia przy starcie i przy użyciu:

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

+1: miałem zrobić bardzo podobne rzeczy się (moje rozwiązanie było zwyczajem Wiosna klasa fabryka zrobił przepisywanie ale to koncepcyjnie prawie identyczne) i jeszcze nie widziałem żadnych znacznie lepszych pomysłów. Pamiętaj, możesz również argumentować, że w przypadku wdrożenia produkcyjnego pliki webapp nie powinny być w ogóle zapisywalne, dlatego wymagają zewnętrznego połączenia z bazą danych ... –