Мое приложение в настоящее время использует Microsoft Access, но теперь может быть размещено на блоках Linux. Кроме того, при доступе с нескольких компьютеров один из них может обновлять записи (когда его читают другие пользователи).
Мне также требуется, чтобы встроенная база данных поддерживала сложные запросы SQL - например, внутренний SQL, объединения и т. Д.
Я пытался SQLite , но многие из существующих запросов терпят неудачу или должны быть исправлены (как в простом запросе с использованием внутренних скобок соединения после того, как FROM был неприемлем для SQLite, и должен был быть удален ). Правое объединение тоже не поддерживается.
Я узнал о Apache Derby и H2 , но сначала предпочел бы ваше ценное мнение.
Edit:
Я забыл упомянуть, что мое приложение полностью написано на Java.
Edit:
По умолчанию я использую Microsoft Access mdb, совместно используемый на сетевом диске, делая подключение без DSN с удаленных компьютеров.
Обновление
Я провел испытания с Firebird, и он действительно кажется очень хорошим, без администрирования и с SQL-совместимостью. Это быстро, и у меня не было проблем ни с одним из типичных запросов, которые я мог примерить. Я очень доволен этим и надеюсь использовать его для проекта, для которого я поднял этот вопрос.
Надеюсь, Advantage Server тоже будет хорош, но не смог найти время для его просмотра. После просмотра / использования Firebird не нужно больше ничего пробовать.