Как подключиться к базе данных HSQLDB на основе файлов с помощью sqltool? - PullRequest
10 голосов
/ 07 сентября 2011

Я попытался следовать инструкциям в главе 1 документа HSQLDB и запустил свой сервер как:

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

, и у меня есть основания полагать, что это сработало, потому что он сказал (между прочим):

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

Однако на следующем шаге я пытаюсь подключиться, используя SqlTool и основываясь на главе 8 документации Я придумал эту команду для подключения:

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

Что выдает следующую ошибку:

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

, а сервер говорит:

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

Я в растерянности.Нужно ли указывать псевдоним при подключении как-нибудь?Какой псевдоним будет в моей базе данных?Сервер ничего не сказал об этом ...

(да, я скопировал файл sqltool.rc в мою домашнюю папку.

Ответы [ 5 ]

7 голосов
/ 07 сентября 2011

Ваш сервер имеет -dbname.0 xdb в качестве псевдонима базы данных.Поэтому URL-адрес соединения должен включать xdb.Например, jdbc:hsqldb:hsql://localhost/xdb

Сервер может обслуживать несколько баз данных с разными псевдонимами.URL без псевдонима соответствует командной строке сервера, которая не включает настройку псевдонима.

1 голос
/ 28 декабря 2016

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

1 голос
/ 14 октября 2013

Эта ошибка преследовала меня последние 5 часов.Вместе с этой глупой ошибкой: Драйвер HSQL не работает?

Если вы хотите запустить hsqldb на своем сервлете с Apache Tomcat, необходимо ЗАКРЫТЬ runManagerSwing.bat.Я знаю, это звучит тривиально, но даже если вы создадите нужную базу данных и впоследствии запустите Eclipse J22 Servlet с Tomcat, вы получите кучу ошибок.Таким образом, runManagerSwing.bat должен быть закрыт.

0 голосов
/ 30 сентября 2015

Вы также можете использовать следующую инструкцию для получения соединения из файлового хранилища.это можно использовать, если вы запускаете приложение из Windows.

connection = DriverManager.getConnection("jdbc:hsqldb:file:///c:/hsqldb/mydb", "SA", "");
0 голосов
/ 29 октября 2013

См. Мой ответ sqltool на вопрос " Как просмотреть все таблицы в базе данных HSQLDB ". Важнейшим элементом является правильная настройка sqltool.rc и размещение его в нужном месте.

...