# Problem mit HSQLDB



## Macro (3. Jul 2006)

Hi.
Ich muss mich im Moment mit HSQLDB auseinandersetzen und habe damit ein paar Probleme.
Ich kann die Datenbank starten, den DriverManager laden aber wenn ich eine Connection holen will bekomme ich eine "No Suitable Driver"-Exception??


```
public void startDatabase(final String location){
		// Prüfen, ob bereits gestartet
		if(server != null)
			return;
		// Konfigurationsdaten holen
		user = System.getProperty("hsqldb.connection.user");
		password = System.getProperty("hsqldb.connection.password");
		if(password == null)
			password = "";
		url = System.getProperty("hsqldb.connection.url");
		port = System.getProperty("hsqldb.connection.port");

		// Started einen Datenbank-Server in einem neuen Thread
		server = new Thread(){
			public void run(){
				// Kommandozeilenparameter für dein Datenbankstart
				String [] args = {	"-database", location + "/database",
									"-port", port,
									"-no_system_exit", "true"};
				Server.main(args);
			}
		};
		server.start();
	}
```


```
public Connection getConnection() throws SQLException {
		try{
			Class.forName("org.hsqldb.jdbcDriver");
		}catch(ClassNotFoundException e){
			return null;
		}
		return DriverManager.getConnection(url + ':' + port, user, password);
	}
```
[/code]


----------



## foobar (4. Jul 2006)

```
try{
         Class.forName("org.hsqldb.jdbcDriver");
      }catch(ClassNotFoundException e){
         return null;
      }
```
Was soll das? Warum gibst du nicht mal den Stacktrace aus?


```
DriverManager.getConnection(url + ':' + port, user, password);
```
Wie sieht denn die Url aus? Hast du dir mal alle Werte ausgeben lassen um zu sehen, das sie korrekt sind?


----------



## Macro (4. Jul 2006)

Der StackTrace ist ziemlich lang, kommt aber immer auf die Methode getConnection mit obiger Meldung zurück.

Die Parameter müssten eigentlich korrekt sein, da die Datenbank ordnungsgemäß gestartet wird.

```
hsqldb.connection.user=sa
hsqldb.connection.url=jdbc:hsqldb:hsql://localhost
hsqldb.connection.port=9001
```

Ich halte mich bei der ganzen Sache an ein Buch und habs auch schon mit den Files vom Autoren abgeglichen/überschrieben. Mich wundert nur, dass ich im Netzt nur Beispiele gefunden habe wo der Pfad zur DB direkt angegeben wurde und nicht über localhost? Aber wie gesagt, im Buch stehts nun mal so.

Thx


----------

