哪种嵌入式数据库具有最大的 SQL 合规性和并发支持?

问题描述 投票:0回答:6

我的应用程序目前使用 Microsoft Access,但现在可能托管在 Linux 机器上。此外,当从多台计算机访问时,其中一台计算机可能会更新记录(当其他用户读取该记录时)。

我还要求嵌入式数据库应该支持复杂的 SQL 查询 - 比如内部 SQL、Join 等。

我尝试了SQLite,但是许多现有查询失败,或者需要修复(就像在使用内连接的简单查询中,FROM 后面的括号对于 SQLite 来说是不可接受的,必须删除)。也不支持右连接。

我开始了解 Apache DerbyH2,但首先希望获得您的宝贵意见。

编辑:

我忘了提及我的应用程序完全是用 Java 编写的。

编辑:

默认情况下,我使用 Microsoft Access mdb,在网络驱动器上共享,从远程计算机进行无 DSN 的连接。

database sqlite firebird derby embedded-database
6个回答
14
投票

我认为是Firebird

Firebird 2.1 甚至支持 Cte's

Firebird 适用于 Windows、Linux、Mac OS...

Jaybird Java 驱动程序。

从 Access 到 Firebird 有一些不错的迁移工具:


6
投票

我会看一下 Advantage 数据库服务器 (sybase.com)。它可以在 Windows、Linux 和 NetWare 上运行。我们有一个针对建筑行业的商业会计/项目管理应用程序,并在六七年前切换到 Advantage。我们对性能和支持非常满意。顾客也很开心。


2
投票

您可以在此处找到有关 Derby SQL 标准合规性的相当详细的描述:http://wiki.apache.org/db-derby/SQLvsDerbyFeatures


1
投票

我们公司也在使用Advantage。 我们来自 XBase 背景,但后来接受了它的 SQL 本质。 它可以在许多平台(Windows、Linux、NetWare)上运行,并拥有大量驱动程序(PHP、ADO、JDBC、ODBC、Crystal),因此它几乎可以在您可能进行编程的任何环境中工作。


1
投票

这可能对您的研究有所帮助:关系数据库管理系统的比较

我个人建议认真看看 Firebird。它是跨平台的,具有本机 .NET 提供程序,并支持您提到的连接。


1
投票

Firebird是最“兼容SQL”的嵌入式数据库。嵌入式版本的引擎与服务器版本相同。

请注意,使用 Firebird 嵌入时,一次只能有一个客户端连接到数据库,因此您可以从同一进程跨越多个连接,但不能从不同进程连接。此问题已在 Firebird 2.5 及更高版本中修复。

© www.soinside.com 2019 - 2024. All rights reserved.