2011-09-07 10 views
10

Ho cercato di seguire le istruzioni in chapter 1 of the HSQLDB doc e ha iniziato il mio server come:come connettersi a un database HSQLDB basato su file con sqltool?

java -cp hsqldb-2.2.5/hsqldb/lib/hsqldb.jar org.hsqldb.Server -database.0 file:#pathtodb# -dbname.0 xdb 

e ho ragione di credere che ha funzionato perche 'ha detto (tra le altre cose):

Database [index=0, id=0, db=file:#pathtodb#, alias=xdb] opened sucessfully in 2463 ms. 

Tuttavia a il passo successivo tenta di connettersi utilizzando SqlTool e sulla base chapter 8 of the documentation sono arrivato fino a questo comando per collegare:

java -jar hsqldb-2.2.5/hsqldb/lib/sqltool.jar localhost-sa 

Quale dà il seguente errore:

Failed to get a connection to 'jdbc:hsqldb:hsql://localhost' as user "SA". 
Cause: General error: database alias does not exist 

mentre il server dice:

[[email protected]]: [Thread[HSQLDB Connection @4ceafb71,5,HSQLDB Connections @60072ffb]]: database alias= does not exist 

Sono in perdita. Dovrei specificare alias quando ci si connette in qualche modo? Quale alias avrebbe il mio database allora? Il server non ha detto nulla ...

(anche, sì, ho copiato il file sqltool.rc alla mia cartella home.

risposta

7

Il server ha -dbname.0 xdb come alias del database. Quindi l'URL di connessione dovrebbe includere xdb . per esempio jdbc:hsqldb:hsql://localhost/xdb

il server può servire diversi database con alias diversi. l'URL senza alias corrisponde a una riga di comando del server che non include l'impostazione alias.

1

Questo errore mi ha dato la caccia per l'ultima 5 ore. Insieme a questo errore stupido: HSQL Driver not working?

Se si desidera eseguire hsqldb sul servlet con Apache Tomcat, è necessario chiudere CLOSE su runManagerSwing.bat. So che sembra banale, ma anche se si crea il database desiderato e si esegue Eclipse J22 Servlet con Tomcat in seguito, si otterrà un sacco di errori. Quindi runManagerSwing.bat deve essere chiuso.

0

È inoltre possibile utilizzare la seguente istruzione per ottenere una connessione da un archivio basato su file. questo può essere usato se si sta eseguendo l'applicazione da Windows.

connection = DriverManager.getConnection("jdbc:hsqldb:file:///c:/hsqldb/mydb", "SA", ""); 
1

java -jar /hsqldb-2.3.2/hsqldb/lib/sqltool.jar --inlineRc=url=jdbc:hsqldb:localhost:3333/runtime,user=sa Enter password for sa: as2dbadmin SqlTool v. 5337. JDBC Connection established to a HSQL Database Engine v. 2.3.2 database

+7

E 'buona pratica su Stack Overflow per aggiungere una spiegazione sul motivo per cui la soluzione dovrebbe funzionare. Per maggiori informazioni leggi [Come chiedere] (http://stackoverflow.com/help/how-to-answer). –

Problemi correlati