следующие работы для меня:
запустить сервер из кода, который показан в коде org.hsqldb.test.TestBase в исходном коде HSQLDB. Что-то вроде:
Server server = new Server();
server.setDatabaseName(0, "test");
server.setDatabasePath(0, "file:/path/to/db");
server.start();
В той же JVM, открыть подключение к одной и той же базе данных, как вы бы в обычной программе (не-сервер), как:
conn = DriverManager.getConnection("jdbc:hsqldb:file:/path/to/db");
Тогда используйте conn для выполнения любого SQL, который вы хотите.
В моем собственном эксперименте это, похоже, работает, и оно работает для встроенной памяти и базы данных файлов.
Другие JVM, конечно, необходимо будет подключиться к серверу с помощью TCP. Попытка открыть файл базы данных непосредственно в другой JVM приведет к обычной ошибке о блокировке базы данных.
Вы сделали это в процессе? –
Что это значит? Я запустил сервер в процессе - нет (я запускаю его непосредственно из ОС), подключился ли я к серверу в процессе - да. Что ты пытаешься сделать? Вы пытаетесь запустить встроенный сервер в режиме сервера? – FoxyBOA