Good Free Alternative To MS Access考虑需要在Microsoft平台上开发轻量级桌面DB应用程序。 使用MS Access可以很轻松地完成此操作,但是我希望能够将其分发给其他人,并且我不想为运行时许可证付费。 要求:
注意事项和候选人:
问题:什么是MS Access的低成本或免费数据库替代品? 另请参阅:开源报告引擎 @Schnapple Bruceatk对我的想法产生了很大的影响;它不是数据库引擎,而是我想要Access为聚会带来的其他好处。漂亮的表单设计器,漂亮的报告引擎等。但是您确实对安装占用空间提出了一个很好的观点。我已经考虑过了,但是我还没有做出任何坚定的决定。无论如何,这可能都是相当轻巧的东西,而且肯定会占用很小的安装空间。 @Remou, 不,我不知道MS Access 2007运行时是免费的;感谢您指出了这一点。我上次不愿意进行调查(我不记得是什么时候),我认为对于运行时来说这是一个相当昂贵的许可证,因为我认为他们正试图将其出售给公司IT部门。 也感谢其他所有人的回应;我完全没有意识到你们都指出过的其他选择。 当人们要求替换Access时,很多人只考虑数据库,但是他们真正要问的是Access中的所有其他功能。他们通常不在乎Access使用的是什么数据库。 Access所提供的某些功能包括:表单,查询构建,报表,宏,数据库管理以及某些您需要超越向导提供的语言。 SQLite,MySQL和FireBird是免费的数据库后端。它们没有内置的其他Access功能。 Access的任何免费替代方案都要求您结合使用SQLite和开发语言之类的方法。 最好的免费选项是SQLite和Visual Basic 2008或C#2008 Express Edition。这将对运行时产生严重的依赖性,因此在裸客户端上进行安装可能会花费大量安装程序。 实际上,没有最低运行时间要求的免费非访问选项。我希望在那里。 如果有人知道任何其他好的选择,我会很感兴趣。 您是否知道可以免费下载Access 2007运行时? 较新版本的链接:
Schnapple问:
Er,任何不具备Access应用程序开发能力的人都不会分发单个MDB / ACCDB作为应用程序/数据存储。任何非平凡的Access应用程序都需要分为具有表单/查询/报告(即UI对象)的前端和具有后端(仅数据表)的前端。 很明显,这里需要一个数据库应用程序开发工具,如Access。任何仅数据库的答案都不能以任何方式对此做出响应。 在回答访问问题之前,请先了解有关访问的信息:
Microsoft本身在掩盖Access(开发工具)与Jet(数据库引擎)之间的差异方面做得很好,因此,很多人没有意识到这一差异也就不足为奇了。但是开发人员应该使用精确的语言,当您使用数据库引擎时,请使用" Jet",当您使用前端开发平台时,请使用" Access"。 这里要记住的一件事是MS Access产品不仅仅是原始数据库引擎。它提供了一个完整的应用程序开发平台,包括表单和菜单设计器,客户端应用程序语言和环境(VBA)以及报表设计器。当您将所有这些东西放在一起时,MS Access确实没有对等点。 但是对于这个问题的范围,我们关心的是原始数据库引擎。考虑到这一点: SQLlite, 另一种想法:虽然最初的问题确实询问了桌面数据库,但很可能有些人会在这里寻找要与网站一起使用的数据库。重要的是要记住,这些都是进程内数据库,因此很少在网络上使用。如果要建立一个网站,通常需要支持大量的并发访问,则通常需要一个数据库服务器引擎,例如MS SQL,Postgresql,MySQL,Oracle或其兄弟。同时,那些服务器引擎很少适合单用户桌面应用程序。 说实话-MS Access没有免费的替代品。至少如果您指的是数据库开发工具(表单,报表,查询,VBA支持等)。如果您将MS Access视为数据库引擎(实际上是指MS Jet或ACE),那么可以-您有很多可能性。有很多免费的数据库引擎-最受欢迎的是MySQL和PostgreSQL。我可以同时推荐这两者-这取决于您要做什么。 对于编写数据库前端,C是最糟糕的选择之一。您应该考虑使用MS Visual C#,MS Visual Basic .NET或...甚至Java / Swing(如果我们正在谈论桌面应用程序)。如果您考虑启用Web的前端,请考虑使用PHP(后端使用MySQL或PostgreSQL)或ASP.NET(后端使用MSSQL Server)。 我强烈建议您不要将C用于此类工作。这种语言非常有效且灵活,但是用C进行高级数据库前端开发并不是最好的主意。 C非常擅长于系统编程,游戏开发,数学和物理模拟,在效率是关键的任何地方(例如实时应用程序等)。前端不必一定是速度的守护程序,它们应该看起来不错并且拥有先进的最终用户功能(例如排序,着色等)。如果您正在寻找免费工具-也许C#Express或Visual Basic.NET Express 2008是正确的选择?还是Java / Swing(请检查NetBeans IDE)?也许SharpDevelop?但不是C ...让C做最适合的事情。 查看suneido。 几年前,我做了一个相当复杂的GIS应用程序作为实验(数据库,复杂的gui,报告,客户端/服务器)。这是一个令人愉快的经历(除了一些文档问题...),而且我的工作效率很快。 我不再使用它的主要原因是:
在自由软件替代品中,尚未提及:
我还将密切关注Flex / Air社区即将推出的DB RAD工具,因为有了这些工具,就有可能获得统一的桌面和Web界面。 具有Application Express的Oracle XE。
问题是找到MS Access的替代方案,其中包括可视化的拖放式开发环境和"合理的"数据库,可以免费部署整个套件和cabo??odle。 我的第一个建议是看一下非常完整的MS Access替代产品列表(其中许多是免费的),然后是osalt.com上的开源数据库开发工具列表。 我的第二个建议是检查WaveMaker,它是一种用于云的开源PowerBuilder(免责声明:我在那儿工作,因此不应被认为是公正的信息源;-) WaveMaker将拖放式IDE与开源Java后端结合在一起。它已获得Apache许可,并拥有15,000个强大的开发者社区。 NuBuilder(www.nubuilder.net)可能是正确的。 NuBuilder是GPLv3许可的PHP Web应用程序,需要MySQL作为后端数据库。用户和程序员都使用Web界面。 他们将其作为免费的基于Web的MS Access替代品进行推广。 您可能想研究SQLite(http://sqlite.org/)。一切都取决于您的用法。例如,并发并不是它的最大优点。但是例如Firefox使用它来存储设置等。 在编程论坛的上下文中,我们通常不认为程序员也需要数据库的应用程序部分。通常,程序员希望将自己的开发环境用于业务逻辑和前端,而仅使用数据库的存储,查询,检索和数据处理功能。 如果您真的想要所有其他这些东西,那么您正在谈论的是一个更大,更复杂的运行时环境。您将再也找不到"轻量级"的东西。甚至MS Access本身也不再合格,因为它的重量轻。幸运的是,很多用户可能已经拥有它了,这使它看起来很轻。 这并不意味着您将找不到任何东西。只是它不太可能具有与Access相同的成熟度或分布水平,尤其是因为基础访问引擎已经包含在Windows中。 Access运行时许可证从未如此昂贵-只要我记得,开发人员工具/扩展的成本就一直在300美元左右(这可以追溯到Access 2 Developers Toolkit或ADT)。 ,但这使您能够将运行时的应用分发给不限数量的用户。只要您的运行时应用程序被三个或更多用户使用,您就会一直在省钱(假设每位用户安装Access的完整副本的成本为100美元)。 Access 2007的运行时是完全免费的,但实际上,在那之前的成本并没有那么高。 马克·格雷韦尔(Marc Gravell)添加了(我认为应该是这样的评论): 您提到了Python,您考虑过Dabo吗? http://dabodev.com/ 这将避免自定义应用程序中的繁琐工作。 VistaDB具有一个可免费使用的快速版本,其语法和驱动程序与SQL Server兼容。 VistaDB是单个文件,只需要其驱动程序.dll即可在asp.net或winforms项目中工作。 由于它与语法和数据源兼容,因此可以根据需要升级到SQL Server。 来自其站点:
VistaDB.net Kexi 2007.1.1可能是您想要的。 其快速版本是免费的,但数据库大小受限制。完整版的价格为72美元。 其主页上的描述: 有关详细信息,请访问http://www.kexi-project.org/about.html。 您指的是与应用程序一起分发的免费数据库的概念,还是类似Access的"单个文件,无需安装"的数据库? 例如,SQL Server Express Edition之类的东西需要安装运行时,创建和安装数据库,人们无法识别的"开始"菜单上的条目(我的妻子问为什么笔记本电脑上装有SQL Server,前一天),而Access数据库可以在单个文件中运行。 我想我要问的是,您是否想将数据库视为您要写入的文档或他人机器上某物的实例? r:Base呢?早在r:Base的时代就是一个非常强大的DOS(然后是Windows)RDMBS,这是Access / Paradox之前的时代。它最接近的竞争对手是dBase,但当时并没有完全的关系。我开发了一些非常不错的r:Base应用程序,并且像今天的Access一样,具有内置的报表生成器,表单工具,查询和表操作。.令我惊讶的是,它仍然有效! http://www.rbase.com/看来,它提供了所有访问权限。可能是您要考虑的东西。 Apache Derby是一个不错的数据库替代品。 Gambas 与Aurelio的回答非常一致,我现在在Ruby on Rails中处理某些以前可能在MS Access中完成过的应用程序。 Rails应用程序的后端数据库。通常是MySql(运行良好,可以在大多数共享的Web托管上使用)或PostgreSQL(在可能的情况下,是更好的选择)。 我也是你的问题。我有一个MS Access应用程序,但是我想转到每个人都可以访问的Web应用程序,而无需向MS付费。因此,我决定使用MySql和Wavemaker(开放源代码)来获取范围。。我对此决定感到非常高兴。结果就是http://www.mara-database.org/ 也请访问http://www.sagekey.com/installation_access.aspx,以获取有关Ms Access的出色安装脚本。另外,如果您需要将图像集成到应用程序中,请访问ammara.com 上的DBPix。 Microsoft的Visual Studio Express怎么样? 您似乎在寻找的不只是数据库程序,而是具有表单,报表等(基本上是各种IDE)的数据库。我建议尝试使用Office套件随附的OpenOffice.org Base。它是免费和开源的。它远不及访问权限那么完善,但它的功能几乎相同。 此外,如果您知道访问权限,那么至少会有点熟悉。 http://www.openoffice.org/ 编辑:对不起,未能读取您正在考虑使用OpenOffice.org。关于稳定性,当我使用它时,它已经崩溃并做了一些"奇怪"的事情,但是Access做了同样的事情。找出答案的最佳方法是稍微玩一下,看看它是否适合您。 我认为OpenOffice.org随附的数据库中包含表单设计器。我从来没有尝试过为此编写代码。我看到的一个论坛帖子有一个教程的链接,他们说其中包含一些代码。 我开始为我的妻子建立一个数据库,据我所知,界面非常好。 oooForum.org教程 对于sqlite,请查看firefox扩展名。它提供了可维护的GUI。 如果您要在共享主机上运行网站(几乎所有这些网站都不允许您在完全信任模式下运行网站),并且您需要启用了x副本部署的简单网站,VistaDB是唯一的选择。铅> |