优秀免费的替代MS Access的选择

105
考虑在Microsoft平台上开发轻量级桌面数据库应用程序的需求。
使用MS Access可以很容易地完成,但我希望能够将其分发给其他人,并且不想支付运行时许可证费用。
需求:
- 易于向其他人分发 - 没有运行时许可问题
考虑因素和候选方案:
- OpenOffice套件中的Base。 我担心它的稳定性。 - MySQL+使用C ++或Python编写自定义数据库代码似乎是一种相当重-handed的解决方案。 问题: MS Access的低成本或免费数据库替代品有哪些?

参见:开源报表引擎



@Schnapple

Bruceatk提到了我的想法;我需要的不仅仅是DB引擎,还有Access带来的其他好处。比如漂亮的表单设计工具,优秀的报告引擎等等。但是你提出了一个很好的观点,就是安装占用空间的问题。我已经考虑过这个问题了,但是我还没有对此做出任何决定。无论如何,我可能会选择一些相对轻量级的东西,而小的安装占用空间肯定是一个优点。


@Remou,

我不知道Microsoft Access 2007运行时是免费的,感谢你指出来。上一次我调查它是相当昂贵的许可证,因为我想他们试图将其销售给企业IT部门。

还要感谢其他所有回答的人,你们指出的其他选项我完全不知道。


3
所选答案中提出的所有解决方案都关于后端(数据库本身)。分发Jet数据库从来没有任何成本!因此,这个问题有点令人困惑,不清楚pcampbell是在寻找前端、后端还是两者兼备。 - iDevlop
1
@Patrick Honorez,最初提出问题的不是pcampbell,而是我。我很久以前将其转换为社区Wiki,而pcampbell是最后一个编辑它的人。我想要包括后端、可视化查询和报告引擎的东西。后端很容易——可视化查询和报告引擎除了Access之外,我从未找到过其他更好的选择。 - Onorio Catenacci
我并没有发现Access不稳定,只要你有正确的JRE。还有Libre Office Base也可以尝试。虽然你可以从Access导入表格,并且你可能不指望能够在其中运行VBA,但你也无法导入表单。除此之外,OOBase是一个完全可行的数据库(至少适用于具有较轻要求的较小数据库)。 - CodeLurker
28个回答

6

您可能需要了解SQLite (http://sqlite.org/)。但这取决于您的使用情况。例如,它并不擅长处理并发。但是,例如Firefox使用它来存储设置等内容。


6
在编程论坛的背景下,我们通常不会认为程序员也需要数据库应用程序部分。通常情况下,程序员希望使用自己的开发环境进行业务逻辑和前端开发,并仅使用数据库的存储、查询、检索和数据处理功能。
如果你真的想要所有这些其他功能,那么你就需要一个更大更复杂的运行时环境。你不会再找到任何“轻量级”的东西了。即使是MS Access本身也不再合格,因为它几乎不轻量级。只是幸运的是很多用户可能已经拥有它,使得它看起来像是轻量级的。
这并不意味着你找不到任何东西。只是不太可能像Access一样成熟或广泛分布,特别是由于底层的访问引擎已经内置在Windows中。

6
Access运行时许可证一直没有太高的价格-开发人员工具/扩展的成本已经在我记忆中存在了很长时间(这将可以追溯到Access 2开发人员工具包或ADT),但是这使您能够将您的应用程序与运行时分发给无限数量的用户。只要您的运行时应用程序被三个或更多用户使用,您将会节省资金(假设每个完整的Access副本的安装成本为100美元)。
Access 2007的运行时完全免费,但实际上,在此之前的成本并不算太高。
Marc Gravell补充说(在我看来应该是评论):
免费当然鼓励人们尝试它,而300美元的价格确实会使人望而却步。

5
你提到了Python,你是否考虑过Dabo?这样可以避免在自定义应用中大量使用grunt工作。 http://dabodev.com/

5
VistaDB有一个免费的express版本,与SQL Server语法和驱动程序兼容。VistaDB是单个文件,只需要使用他们的驱动程序.dll即可在您的asp.net或winforms项目中工作。由于它是语法和数据源兼容的,如果需要,您可以升级到SQL Server。从他们的网站上可以了解到:VistaDB是一个完全托管的、类型安全的ASP.NET和WinForms应用程序,使用C#、VB.NET和其他CLR兼容语言。详情请访问:VistaDB.net

4
Base怎么样?早些年,r:Base是一个非常强大的DOS(后来是Windows)RDMBS,这是在Access / Paradox之前的时代。它最接近的竞争对手是dBase,但当时它并不完全符合关系型数据库标准。我开发了一些非常好的r:Base应用程序,并且像今天的Access一样,它有内置的报告生成器、表单工具、查询和表操作功能。令我惊讶的是,它仍然存在!http://www.rbase.com/它似乎拥有所有Access提供的功能。也许这是你考虑的东西。

1
哇,我还以为r:Base也消失了。不错的链接Optimal。 - Onorio Catenacci
@SmartMethod,你有没有任何将RBase(*.rbf)转换为其他数据库,如Access或MSSQL的隐蔽工具? - Admiral Land
@Admiral Land - 不,最近没有了。已经有一段时间了。我最后一次为客户执行转换是在2010年初,从r:Base到MS SQL Server。 - Taptronic
1
@SmartMethod,我解决了我的问题,谢谢! - Admiral Land

4

Kexi 2007.1.1 可能是您正在寻找的内容。

它的快速版本是免费的,但数据库大小有限制。完整版售价$72。

以下是它主页上的描述: Kexi 是一款易于使用的可视化数据库设计应用程序,适用于 Linux 和 MS Windows。Kexi 与 MS Access、FoxPro、Oracle Forms 和 FileMaker 竞争。

详情请访问 http://www.kexi-project.org/about.html


4
你是在提到要分发一个应用程序时使用的免费数据库概念,还是类似于Access的“单文件,无需安装”的数据库?
例如,像SQL Server Express Edition这样的东西需要安装运行时,创建和挂载数据库,在人们的开始菜单上添加条目(我妻子前几天问为什么SQL Server在她的笔记本电脑上),而Access数据库可以在单个文件中运行。
我想我要问的是,你是否希望将数据库视为你编写的文档,还是作为其他人计算机上的实例?

3

与Aurelio的答案非常一致,我现在使用Ruby on Rails开发一些以前可能会用MS Access完成的应用程序。Rails应用程序的后端数据库通常是MySql(功能足够强大,大多数共享Web主机都提供)或PostgreSQL(如果可能的话更好选择)。


很高兴见到你,史蒂夫!好久没听到你的消息了,希望你一切都好……我很想听听你在Ruby on Rails方面的经验。我看过它,感觉这是一个太大的项目,而且不好控制(从我的角度来看,它看起来像一个大型库,因此强制执行自己的逻辑--不是字面上的,而是比喻性的)。 - David-W-Fenton
做得好是相对的 - 我很快会通过其他渠道详细说明。就我个人而言,我喜欢Rails已经有很多年了,但我永远不会声称它适合每个人。这确实是一个巨大的承诺,但Ruby语言非常强大和表达力强,并且在我看来学起来很愉快。Rails是一个“有主见”的框架,包含大量默认库的集合,但许多库是可选的和可交换的,因此它比起初看来要少限制一些。Rails社区也非常棒,这显然非常重要。 - Steve Jorgensen

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接