我的应用程序目前使用Microsoft Access,但现在可能托管在Linux机器上.此外,当从多台计算机访问时,其中一台计算机可能会更新记录(当其他用户正在读取时).
我还要求嵌入式数据库应该支持复杂的SQL查询 - 比如内部SQL,联接等.
我尝试了SQLite,但是许多现有的查询都失败了,或者需要修复(就像在使用内部联接的简单查询中,在FROM之后的括号不被SQLite接受,并且必须被删除).也不支持右连接.
我开始了解Apache Derby和H2,但首先会更喜欢你的宝贵意见.
编辑:
我忘了提到我的应用程序完全用Java编写.
编辑:
在预设时,我使用Microsoft Access mdb,在网络驱动器上共享,从远程计算机进行无DSN连接.
更新
我使用Firebird进行了试验,它确实看起来非常好,零管理和SQL兼容.它很快,我可以尝试的任何典型查询都没有问题.我对它非常满意,并希望将它用于我提出这个问题的项目.
希望Advantage Server也会很好,但没有时间来审查它.在审查/使用Firebird之后,我觉得不需要尝试其他任何东西.
我认为这是Firebird.
即使CTE的支持在火鸟2.1!
Firebird适用于Windows,Linux,Mac OS ......
Java的Jaybird驱动程序.
Access到Firebird有一些很好的迁移工具:
IBDatapump
Microsoft Access to Firebird数据库转换器(MDB2FDB)
我将看一下Advantage Database Server(sybase.com).它可以在Windows,Linux和NetWare上运行.我们为建筑行业提供商业会计/项目管理应用程序,并在6或7年前转向Advantage.我们对性能和支持非常满意.客户也很开心.