Создание общей базы данных HSQLDB

Для операторов -is и -as требуется тип, с которым можно сравнивать. Если вы не уверены, каким может быть тип, попробуйте оценить содержимое (частичный список типов):

(Invoke-Expression '1.5').GetType().Name -match 'byte|short|int32|long|sbyte|ushort|uint32|ulong|float|double|decimal'

Хорошо это или плохо, он также может работать с шестнадцатеричными значениями (Invoke-Expression '0xA '...)

5
задан Robert Munteanu 8 June 2009 в 11:56
поделиться

2 ответа

У меня работает следующее:

  1. Запустите сервер из вашего кода, который показан в коде org.hsqldb.test.TestBase в исходном коде HSQLDB. Что-то вроде:

    Server server = new Server();
    server.setDatabaseName(0, "test");
    server.setDatabasePath(0, "file:/path/to/db");
    server.start();
    
  2. В той же JVM откройте подключение к той же базе данных так, как вы бы сделали это в обычной (не серверной) программе, например:

    conn = DriverManager.getConnection("jdbc:hsqldb:file:/path/to/db");
    

Затем используйте conn для выполнения любого SQL, который вы хотите.

В моих собственных экспериментах это, похоже, работает, причем работает как для базы данных в памяти, так и для файловой базы данных.

Другие JVM, конечно, должны будут подключаться к серверу с помощью TCP. Попытка открыть файл базы данных непосредственно в другой JVM приведет к обычной ошибке о том, что база данных заблокирована.

5
ответ дан 14 December 2019 в 19:23
поделиться

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

Как описано в документе , процесс является прямым.

0
ответ дан 14 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: