HSQLDB: Problem mit jdbcDriver bei Abfrage aus einem Servlet heraus

c-mule

Grünschnabel
Hallo zusammen,

ich arbeite gerade an einer Anwendung, mit deren Hilfe aus einem Servlet heruas eine Datenbank abgefragt werden soll. Der grobe Ablauf ist:

- HSQLDB, Standalone, org.hsqldb.jdbcDriver, wird über DAOs ausgelesen.
- Ein Service greift auf DAOs und Entity-Klassen zu und stellt einem Controller DTOs zur verfügung.
- Falls man den Controller mit einer Main-Methode aufruft, gibt dieser die Daten aus der DB korrekt an.
- Falls man den Controller vom Servlet aus aufruft, wird eine java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver ausgelöst.
- Es kommt kein OR-Mapping zum Einsatz, alles wird zu Fuß erledigt.

An was könnte das liegen?

Viele Grüße
c-mule
 
Ok.
Es liegt wohl daran, dass die DB im Standalone-Modus gestartet wird. Um mit Servlets darauf zugreifen zu können, muss sie wohl im Server-Modus gestartet werde.

Das werde ich als nächstes ausprobieren.

Viele Grüße
c-mule
 
Und hier nun die Lösung des Problems:

1. "org.hsqldb.jdbcDriver" war nicht in das Verzeichnis Tomcat/lib kopiert worden.
2. hsqldb muss zuvor als Server gestaret werden. Dies kann aus der Anwendung heraus erfolgen, z.B. mit

Server server = new Server();
server.setDatabaseName(0, "");
server.setDatabasePath(0, "Pfad/der/Datenbank");
server.setLogWriter(null);
server.setErrWriter(null);
server.start();

Nun läuft es.

Viele Grüße
c-mule
 
Zurück