MS Access的良好免费替代方案

Ono*_*cci 100 database desktop ms-access

考虑在Microsoft平台上开发轻量级桌面数据库应用程序的需求.

使用MS Access可以相当容易地完成它,但我希望能够将其分发给其他人,我不想为运行时许可证付费.

要求:

  • 易于分发给他人
  • 没有运行时许可问题

考虑因素和候选人:

  • 基于OpenOffice套件.我担心的是它的稳定性.
  • MySQL +用C++或Python编写自定义数据库代码,或者看起来像是一个相当苛刻的解决方案.

问题:MS Access的低成本或免费数据库替代方案是什么?


另请参阅: 开源报告引擎



@Schnapple

Bruceatk对我的想法有点打击; 它并不是数据库引擎,因为我想要Access为聚会带来的其他细节.漂亮的表单设计器,漂亮的报表引擎等.但是你确实提出了一个关于安装足迹的非常好的观点.我曾经考虑过这个问题,但我还没有做出任何明确的决定,无论如何我都会采用这种方式.它可能是相当轻量级的东西,而且小的安装空间肯定会是一个加分.


@Remou,

不,我不知道MS Access 2007运行时是免费的; 感谢您指出了这一点.我最后一次打扰调查它(我不记得它是什么时候)我觉得这是一个相当昂贵的运行时许可证,因为我认为他们试图将它卖给公司IT部门.

并感谢所有回应的人; 我完全没有意识到你们所指出的那些其他选择.

bru*_*atk 126

当人们询问Access的替代品时,他们中的很多人只考虑数据库,但他们真正询问的是Access中的所有其他功能.他们通常不关心数据库Access正在使用什么.

Access提供的一些功能包括:表单,查询构建,报表,宏,数据库管理以及某种语言,当您需要超出向导提供的范围时.

SQLite,MySQL和FireBird是免费的数据库后端.它们没有内置的附加Access功能.Access的任何免费替代方案都需要您组合SQLite和开发语言之类的东西.

可能最好的免费选项是SQLiteVisual Basic 2008或C#2008 Express Edition.这将具有繁重的运行时依赖性,因此在裸客户端上安装可能需要相当多的安装程序.

确实没有免费的非Access选项,具有最低的运行时要求.我希望有.

如果有人知道任何好的选择,我会有兴趣听到.

  • 是的...人们并没有意识到访问的强大功能,因为你已经强调了这种集成的开发环境......没有任何免费可以与微软访问相比,甚至内置的大多数(更不用说所有)功能也是如此.当你有权访问时...你可以通过其他方式在很短的时间内做很多事情... 100%同意你的答案@bruceatk (4认同)

Fio*_*ala 68

您是否知道可以免费下载Access 2007运行时

更新版本的链接:

  • 我很确定Access 2003运行时许可证不是免费的......但是是啊...使用Access 2007,您无需支付许可证费用. (2认同)

Dav*_*ton 65

Schnapple问道:

您是指使用应用程序分发的免费数据库的概念,还是类似Access的"单个文件,无安装"数据库?

呃,没有任何能够使用Access应用程序开发的人会将单个MDB/ACCDB作为应用程序/数据存储进行分发.任何非平凡的Access应用程序都需要使用表单/查询/报告(即UI对象)和后端(仅限数据表)拆分为前端.

很明显,这里需要的是像Access这样的数据库应用程序开发工具.所有仅限数据库的答案都不会以任何方式响应.

在回答访问问题之前,请先了解Access:

  • Access是一个数据库应用程序开发工具,它附带一个名为Jet的默认数据库引擎.

  • 但是,只要有一个ISAM,或者用于该数据库引擎的ODBC或OLEDB驱动程序,就可以构建Access应用程序来处理几乎所有后端数据库中的数据.

微软本身已经很好地模糊了Access(开发工具)和Jet(数据库引擎)之间的差异,所以很多人都不认识到这种差异并不奇怪.但是开发人员应该使用精确的语言,当你的意思是数据库引擎时,使用"Jet",当你的意思是前端开发平台时,使用"Access".


Joe*_*orn 59

所有人都会想到SQLlite,
Firebird,
VistaDB(非免费)
SQL Server Compact Edition(不是Express)
.

另一个想法是:虽然最初的问题确实询问了桌面数据库,但很可能有些人会在这里找到一个用于网站的数据库.重要的是要记住,这些都是进程内数据库,因此很少适合在Web上使用.如果你想构建一个网站,你真的需要一个数据库服务器引擎,如MS SQL,Postgresql,MySQL,Oracle或他们的兄弟.同时,这些服务器引擎很少适用于单用户桌面应用程序.

  • SQLite,我喜欢它. (7认同)

小智 16

说实话 - 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++留给最适合的东西.


Ton*_*uža 14

看看suneido.

几年前我做了一个相当复杂的GIS应用程序作为它的实验(数据库,复杂的gui,报告,客户端/服务器).这是一次愉快的经历(除了一些文档问题......)而且我用它很快就变得富有成效.

我不再使用它主要是因为:

  • 这不是真正的通用目的
  • 它不是跨平台(仅限Windows)
  • 我决定停止探索异国情调的技术,专注于更主流的东西.


aka*_*ola 9

在自由软件替代品中,尚未提及这些:

我还会关注Flex/Air社区正在推出的DB RAD工具,因为使用这些工具可以获得统一的桌面和Web界面.


Mat*_*son 8

Oracle XE与Application Express.

  • 有一个很好的网络gui,
  • 是一个"真正的"数据库
  • 将扩展到单个桌面之外
  • 提供超越小团队的清晰规模路径
  • 应用程序基于Web,易于访问.
  • 可以将Excel电子表格转换为应用程序


Til*_*ill 6

您可能需要查看SQLite(http://sqlite.org/).一切都取决于你的用法.例如,并发不是它最大的优点.但是例如Firefox使用它来存储设置等.


Dav*_*ton 6

Access 运行时许可证从未如此昂贵——据我所知,开发人员工具/扩展的成本一直在 300 美元左右(这可以追溯到 Access 2 开发人员工具包,或 ADT),但是使您能够将带有运行时的应用程序分发给无限数量的用户。只要您的运行时应用程序被三个或更多用户使用,您就一直在节省资金(假设安装 Access 的完整副本的成本为 100 美元/用户)。

Access 2007 的运行时是完全免费的,但实际上,之前的成本并不是那么高。

Marc Gravell 补充道(在我看来,这应该是一个评论):
尽管如此,免费肯定是鼓励人们尝试它,而 300 美元的价格确实会让人望而却步。


小智 6

问题是找到MS Access的替代方案,其中包括具有"合理"数据库的可视化拖放开发环境,其中可以免费部署整个套件和cabo​​odle.

我的第一个建议是查看这个非常完整的MS Access备选列表(其中许多是免费的),接下来是osalt.com上的这个开源数据库开发工具列表.

我的第二个建议是检查WaveMaker,它是一种开源的PowerBuilder for the Cloud(免责声明:我在那里工作所以不应该被认为是一个公正的信息来源;-)

WaveMaker将拖放式IDE与开源Java后端相结合.它根据Apache许可证授权,拥有15,000个强大的开发人员社区.


shf*_*ful 6

NuBuilder(www.nubuilder.net)可能是对的.

NuBuilder是一个GPLv3许可的PHP Web应用程序,需要MySQL作为后端数据库.用户和程序员都使用Web界面.

他们将其推广为免费的基于Web的MS Access替代方案.这些天我正在创建我的第二个NuBuilder应用程序.NuBuilder似乎非常积极地开发,我发现它很稳定并且有很好的文档记录(前提是你可以参加视频教程.)


Joe*_*orn 5

在编程论坛的上下文中,我们通常不会想到程序员也需要数据库的应用程序部分.通常,程序员希望将自己的开发环境用于业务逻辑和前端,并且只使用数据库的存储,查询,检索和数据处理功能.

如果你真的想要所有其他的东西,那么你所说的是一个更大更复杂的运行时环境.你不会再找到任何"轻量级"的东西了.甚至MS Access本身也不再符合资格,因为它的重量很轻.很幸运的是,很多用户可能已经拥有它,使它看起来很轻.

这并不意味着你找不到任何东西.只是因为它不太可能具有与Access相同的成熟度或分布水平,特别是因为底层访问引擎已经融入Windows.


Bri*_*ght 5

VistaDB 有一个可以免费使用的 express 版本,并且语法和驱动程序与 SQL Server 兼容。VistaDB 是单个文件,只需要它们的驱动程序 .dll 即可在您的 asp.net 或 winforms 项目中工作。

由于它与语法和数据源兼容,因此您可以根据需要升级到 SQL Server。

从他们的网站:

VistaDB 是一个完全托管且类型安全的 ASP.NET 和 WinForms 应用程序,使用 C#、VB.NET 和其他 CLR 兼容语言。

VistaDB.net


小智 5

你提到Python,你考虑过Dabo吗?

http://dabodev.com/

这将避免自定义应用程序中的大部分繁重工作。