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