MS Access的良好免费替代品

时间:2020-03-05 18:43:32  来源:igfitidea点击:

考虑需要在Microsoft平台上开发轻量级桌面DB应用程序。

使用MS Access可以很容易地做到这一点,但是我希望能够将其分发给其他人,并且我不想为运行时许可证付费。

要求:

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

注意事项和候选人:

  • 来自OpenOffice套件的基础。我担心它的稳定性。
  • MySQL +用C ++或者Python或者类似的方法编写自定义DB代码。

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

另请参阅:开源报告引擎

@Schnapple

Bruceatk对我的想法产生了很大的影响。它不是数据库引擎,而是我想要Access为聚会带来的其他好处。漂亮的表单设计器,漂亮的报表引擎等。但是我们确实对安装占用空间提出了一个很好的观点。我已经考虑过了,但是我仍然没有做出任何坚定的决定。无论如何,这可能都是相当轻巧的东西,而且肯定会占用很小的安装空间。

@Remou,

不,我没有意识到MS Access 2007运行时是免费的。感谢我们指出了这一点。上次我不愿意调查它(我不记得是什么时候),我认为它对于运行时来说是相当昂贵的许可证,因为我认为他们正试图将其出售给公司IT部门。

还要感谢其他也做出回应的人;我完全不知道你们指出的其他选择。

解决方案

回答

SQLlite,
火鸟,
VistaDB(不是免费的),
和SQL Server Compact Edition(非Express)

都浮现在脑海。

回答

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

回答

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

我们是否知道可以免费下载Access 2007运行时?

  • 2010运行时
  • 2013执行阶段
  • 2016年运行时

回答

较新版本的链接:

回答

微软的Visual Studio Express怎么样?
http://www.microsoft.com/express/default.aspx
SQL Server Express也在该链接上。

回答

对于sqlite,请查看firefox扩展名。它提供了可维护的GUI。

当人们要求替代Access时,许多人只考虑数据库,但是他们真正要问的是Access中的所有其他功能。他们通常不在乎Access使用的是什么数据库。

Access提供的一些功能包括:表单,查询构建,报表,宏,数据库管理以及某些我们需要超越向导提供的语言。

SQLite,MySQL和FireBird是免费的数据库后端。它们没有内置的其他Access功能。 Access的任何免费替代方案都要求我们结合使用SQLite和开发语言。

最好的免费选项可能是SQLite和Visual Basic 2008或者C2008 Express Edition。这将对运行时造成严重的依赖性,因此在裸客户端上进行安装可能需要相当多的安装程序。

实际上,没有最低运行时间要求的免费非访问选项是免费的。我希望有。

回答

如果有人知道任何其他不错的选择,我会很感兴趣。

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

如果我们真的想要所有其他这些东西,那么我们正在谈论的是一个更大,更复杂的运行时环境。我们将再也找不到"轻量级"的东西。甚至MS Access本身也不再合格,因为它的重量轻。幸运的是,很多用户可能已经拥有了它,使它看起来很轻巧。

回答

这并不意味着我们将找不到任何东西。只是它不太可能具有与Access相同的成熟度或者分布水平,尤其是因为底层访问引擎已经被烘焙到Windows中。

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

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

VistaDB is a fully managed and
  typesafe ASP.NET and WinForms
  applications using C#, VB.NET and
  other CLR-compliant languages.

从他们的网站:

回答

VistaDB.net

我们是在指与应用程序一起分发的免费数据库的概念,还是类似于Access的"单个文件,无需安装"的数据库?

例如,SQL Server Express Edition之类的东西需要安装运行时,创建和安装数据库,人们无法识别的"开始"菜单上的条目(我的妻子问为什么那天有SQL Server放在她的笔记本电脑上)而Access数据库可以在单个文件中运行。

回答

我想我要问的是,我们是否想将数据库视为要写入的文档或者他人机器上某物的实例?

我认为OpenOffice.org随附的数据库中包含表单设计器。我从来没有尝试过为它编写代码。我看到的一个论坛帖子有一个教程的链接,他们说其中包含一些代码。

我开始为我的妻子建立一个数据库,据我所知,界面非常好。

回答

oooForum.org教程

Are you referring to the concept of a
  free database to distribute with an
  application, or an Access-like "single
  file, no installation" database?

Schnapple问:

嗯,没有任何具有Access应用程序开发能力的人会分发单个MDB / ACCDB作为应用程序/数据存储。任何非平凡的Access应用程序都需要分为具有表单/查询/报告(即UI对象)的前端和具有后端(仅数据表)的前端。

显然,这里需要的是诸如Access之类的数据库应用程序开发工具。仅有数据库的答案都无法以任何方式对此做出响应。

  • Access是一个数据库应用程序开发工具,附带一个名为Jet的默认数据库引擎。
  • 但是,只要有用于该数据库引擎的ISAM或者ODBC或者OLEDB驱动程序,就可以构建Access应用程序以处理几乎所有后端数据库中的数据。

在回答Access问题之前,请先了解Access的知识:

回答

微软本身在掩盖Access(开发工具)与Jet(数据库引擎)之间的差异方面做得很好,因此许多人没有意识到这一差异也就不足为奇了。但是开发人员应该使用精确的语言,当我们使用数据库引擎时,请使用" Jet",当我们使用前端开发平台时,请使用" Access"。

看看suneido。

几年前,我做了一个相当复杂的GIS应用程序作为实验(数据库,复杂的gui,报告,客户端/服务器)。这是一个令人愉快的经历(除了一些文档问题...),而且我的工作效率非常高。

  • 这不是真正的通用目的
  • 它不是跨平台的(仅适用于Windows)
  • 我决定停止探索外来技术,而专注于更主流的技术。

回答

我不再使用它的主要原因是:

Access运行时许可证从未如此昂贵-只要我记得,开发人员工具/扩展的费用一直在300美元左右(这可以追溯到Access 2 Developers Toolkit或者ADT),但是我们可以将运行时的应用分发给无限数量的用户。只要运行时应用程序被三个或者更多用户使用,我们就可以节省金钱(假设安装Access的完整副本的费用为每位用户$ 100)。

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

回答

马克·格雷韦尔(Marc Gravell)添加了(我认为应该发表评论):
不过,免费是肯定会鼓励人们尝试使用它,否则300美元的价格实在令人望而却步。

回答

r:Base呢?早在r:Base的时代就是一个非常强大的DOS(然后是Windows)RDMBS,这是Access / Paradox之前的时代。它最接近的竞争对手是dBase,但当时并不是完全相关的。我开发了一些非常不错的r:Base应用程序,并且像今天的Access一样,具有内置的报表生成器,表单工具,查询和表操作。.令我惊讶的是,它仍然有效! http://www.rbase.com/似乎它提供了所有访问权限。可能是我们要考虑的东西。

  • 有一个不错的基于Web的gui,
  • 是一个"真实"数据库
  • 将扩展到单个桌面之外
  • 提供超越小团队的明确路径
  • 基于Web的应用程序,易于访问。
  • 可以将Excel电子表格转换为应用程序

回答

带有Application Express的Oracle XE。

Kexi 2007.1.1可能是我们想要的。

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

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

回答

有关详细信息,请访问http://www.kexi-project.org/about.html。

  • Rekall(尽管不确定当前Windows版本的状态)
  • Glom(正在开发Windows版本)

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

回答

我还将密切注意Flex / Air社区即将推出的DB RAD工具,因为有了这些工具,就可以获得统一的桌面和Web界面。

回答

Apache Derby是一个不错的数据库替代方案。

回答

如果要在共享主机上运行网站(几乎所有这些网站都不允许我们在完全信任模式下运行网站),并且我们需要启用了x副本部署的简单网站,则VistaDB是唯一的选择。

回答

甘巴斯

我们提到过Python,我们考虑过Dabo吗?

http://dabodev.com/

回答

这样可以避免在自定义应用程序中进行繁琐的工作。

老实说,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 ++在系统编程,游戏开发,数学和物理模拟等领域都很出色,在效率是关键的任何地方(例如实时应用程序等)。前端不必一定是速度的守护程序,它们应该看起来不错并且具有先进的最终用户功能(例如排序,着色等)。如果我们正在寻找免费工具,也许CExpress或者Visual Basic.NET Express 2008将是正确的选择?还是Java / Swing(请检查NetBeans IDE)?也许SharpDevelop?但是不是C ++。。。保留C ++最适合的功能。

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

我的第一个建议是看一下非常完整的MS Access替代产品列表(其中许多是免费的),然后是osalt.com上的开源数据库开发工具列表。

我的第二个建议是检查WaveMaker,它是一种用于云的开源PowerBuilder(免责声明:我在那儿工作,因此不应被视为公正的信息源;-)

回答

WaveMaker将拖放式IDE与开源Java后端结合在一起。它是根据Apache许可获得许可的,并拥有15,000个强大的开发者社区。

段落数量不匹配