2011-09-07 55 views
10

He tratado de seguir las instrucciones de chapter 1 of the HSQLDB doc y comenzó mi servidor como:cómo conectarse a una base de datos HSQLDB basada en archivos con sqltool?

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

y tengo razones para creer que trabajaron causa se dijo (entre otras cosas):

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

Sin embargo, en el siguiente paso intento conectar usando SQLtool y basado en chapter 8 of the documentation me ocurrió con este comando para conectar: ​​

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

que da el siguiente error:

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

mientras que el servidor dice:

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

Estoy en una pérdida. ¿Debo especificar un alias cuando me conecto de alguna manera? ¿Qué alias tendría mi base de datos entonces? El servidor no decir nada sobre eso ...

(también, sí he copiado el archivo sqltool.rc a mi carpeta de inicio.

Respuesta

7

El servidor tiene -dbname.0 xdb como el alias de base de datos. Por tanto, la dirección URL de conexión debe incluir xdb . por ejemplo jdbc:hsqldb:hsql://localhost/xdb

el servidor puede servir a varias bases de datos con diferentes alias. la dirección URL sin alias corresponde a una línea de comandos del servidor que no incluye la configuración de alias.

1

Este error me ha estado a la caza de la última 5 horas. Junto con este error estúpido: HSQL Driver not working?

Si desea ejecutar su hsqldb en su servlet con Apache Tomcat es necesario que se cierra la runManagerSwing.bat. Sé que suena trivial, pero incluso si creas la base de datos deseada y luego ejecutas Eclipse J22 Servlet con Tomcat, obtendrás un montón de errores. Así que runManagerSwing.bat debe estar cerrado.

0

También puede usar la siguiente declaración para obtener una conexión de una tienda basada en archivos. esto se puede usar si está ejecutando la aplicación desde 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

Es una buena práctica desbordamiento de pila añadir una explicación de por qué su solución debe trabajar. Para obtener más información, lea [Cómo preguntar] (http://stackoverflow.com/help/how-to-answer). –

Cuestiones relacionadas