良好的免费替代MS Access
考虑在Microsoft平台上开发轻量级桌面数据库应用程序的必要性。
这可以用MS Access很容易地完成,但我希望能够分发给其他人,我不想支付运行许可证。
要求:
- 容易分发给别人
- 没有运行时许可问题
考虑事项和候选人:
- 基于OpenOffice套件 。 我担心的是它的稳定性。
- MySQL +使用C ++或Python编写自定义数据库代码,或者看起来像是一个相当笨拙的解决scheme。
问题 :什么是MS Access的低成本或免费数据库替代品?
另请参阅: 开源报告引擎
@Schnapple
布鲁塞亚克打击了我的想法; 数据库引擎并不像我想要的那样,Access为访问带来的其他细节。 漂亮的表单devise师,漂亮的报表引擎等等。但是你对安装脚本提出了一个很好的观点。 我已经考虑过了,但是我还没有做出任何坚定的决定。 无论如何,这可能是相当轻量级的东西,一个小的安装足迹肯定是一个加号。
@Remou,
不,我不知道MS Access 2007运行时是免费的; 感谢您指出了这一点。 我最后一次打扰调查(我不记得那是什么时候),我认为这是一个相当昂贵的运行时许可证,因为我认为他们试图把它卖给企业IT部门。
并感谢所有其他人的回应。 我完全不知道你指出的其他选项。
SQLlite ,
火鸟 ,
VistaDB (不是免费的),
和SQL Server Compact Edition (不是Express)
都想到了。
另一个想法是:虽然最初的问题是关于桌面数据库的问题,但是可能有些人会在这里寻找一个数据库来用于网站。 重要的是要记住,这些都是在进程中的数据库,因此很less适合在networking上使用。 如果你想build立一个网站,你真的需要一个数据库服务器引擎,如MS SQL,Postgresql,MySQL,甲骨文或他们的弟兄们。 同时,这些服务器引擎很less适用于单用户桌面应用程序。
当人们询问关于Access的替代品时,他们中的很多人只考虑数据库,但是他们真正要问的是Access中的其他function。 他们通常不关心Access正在使用的数据库。
Access提供的一些function是:表单,查询构build,报表,macros,数据库pipe理以及某种语言,当您需要超越向导提供的内容时。
SQLite ,MySQL和FireBird是免费的数据库后端。 他们没有内置这些额外的访问function。 任何Access的免费替代品都需要你结合SQLite和开发语言。
可能最好的免费选项是SQLite和Visual Basic 2008或C#2008 Express Edition 。 这将有一个沉重的运行时依赖,所以安装在裸露的客户端可以采取相当安装程序。
实际上没有一个免费的非访问选项,运行时间要求最低。 我希望有。
如果有人知道任何好的select,我会感兴趣的。
Schnapple问:
你指的是免费的数据库的概念与应用程序,或类似Access的“单一文件,没有安装”数据库分发?
呃,没有人有任何Access应用程序开发的能力,就会把一个MDB / ACCDB作为应用程序/数据存储来分发。 任何非平凡的Access应用程序都需要被分成前端,包括表单/查询/报告(即UI对象)和后端(仅限数据表)。
很明显,这里需要的是像Access这样的数据库应用程序开发工具。 没有任何数据库的答案是以任何方式回应。
请在回答访问问题之前了解Access:
-
Access是一个数据库应用程序开发工具,它附带一个名为Jet的默认数据库引擎。
-
但是,只要有数据库引擎的ISAM或ODBC或OLEDB驱动程序,就可以构buildAccess应用程序来处理几乎任何后端数据库中的数据。
微软本身在混淆Access(开发工具)和Jet(数据库引擎)之间的区别方面做得很好,所以许多人不认识到这一点并不奇怪。 但开发人员应该使用精确的语言,当您指的是数据库引擎时,使用“Jet”,而当您指的是前端开发平台时,使用“Access”。
您是否知道Access 2007运行时可以免费下载?
新版本的链接:
- 2010 Runtime
- 2013年运行时间
- 2016年运行时间
说实话 – 没有任何MS Access的免费替代品。 至less如果你是指数据库开发工具(表单,报表,查询,VBA支持等)。 如果你把MS Access看作是一个数据库引擎(事实上你的意思是MS Jet或ACE),那么是的 – 你有很多的可能性。 有很多免费的数据库引擎 – 最受欢迎的是MySQL和PostgreSQL。 我可以推荐这两个 – 这取决于你想要做什么。
为了编写数据库前端,C ++是最糟糕的select之一。 你应该考虑MS Visual C#,MS Visual Basic .NET或甚至Java / Swing(如果我们正在谈论桌面应用程序)。 如果您考虑启用Web的前端 – 考虑PHP(在后端使用MySQL或PostgreSQL)或ASP.NET(在后端使用MSSQL服务器)。
我强烈build议你不要使用C ++进行这样的工作。 这种语言非常高效和灵活,但是使用C ++进行高级数据库前端开发并不是最好的主意。 C ++在系统编程,游戏开发,math和物理模拟等方面都非常出色,效率是关键的地方,比如实时应用等。前端不一定是速度的守护进程 – 它们应该看起来不错,并且拥有先进的最终用户function(如sorting,着色等)。 如果您正在寻找免费工具 – 也许C#Express或Visual Basic.NET Express 2008将是正确的select? 或者也许Java / Swing(检查NetBeans IDE)? 也许SharpDevelop? 但不是C ++ …留下C ++的东西,它适合最好的。
退房suneido 。
几年前,我做了一个相当复杂的GIS应用程序(数据库,复杂GUI,报告,客户机/服务器)。 这是一个愉快的经历(除了一些文件问题…),我很快就成功了。
我不再使用它,主要是因为:
- 这不是一般的目的
- 它不是跨平台(只有窗户)
- 我决定停止探索异国情调的技术,专注于更主stream的东西。
这些自由软件的替代品还没有被提及:
- 键
- Rekall (目前不确定Windows版本的状态)
- Glom (Windows版本正在开发中 )
我还会密切关注Flex / Air社区提出的哪些DB RAD工具,因为使用这些工具可以获得统一的桌面和Web界面。
使用Application Express的Oracle XE。
- 有一个很好的基于networking的GUI,
- 是一个“真实”的数据库
- 将扩展到一个单一的桌面
- 提供了一个超越小团队的清晰的规模path
- 应用程序作为基于networking,方便访问。
- 可以将Excel电子表格转换为应用程序
你可能想看看SQLite( http://sqlite.org/ )。 尽pipe如此,一切取决于你的使用 并发性并不是它最大的优点。 但是,例如Firefox使用它来存储设置等。
NuBuilder( http://www.nubuilder.net )可能是对的。
NuBuilder是一个GPLv3许可的PHP Web应用程序,需要MySQL作为后端数据库。 用户和程序员都使用Web界面。
他们把它作为一个免费的,基于networking的MS Access替代品来推广。 我正在创build我的第二个NuBuilder应用程序。 NuBuilder似乎是非常积极的开发,我发现它稳定和有据可查(如果你可以站在video教程。)
在编程论坛的背景下,我们通常不会想到程序员也需要数据库的应用程序部分。 通常情况下, 程序员希望使用自己的开发环境来处理业务逻辑和前端,而只是使用数据库的存储,查询,检索和数据处理function。
如果你真的想要所有其他的东西,那么你正在谈论一个更大更复杂的运行时环境。 你不会再find任何“轻量级”的东西。 即使MS Access本身也不再具备资格,因为它的重量并不轻。 很幸运的是,很多用户可能已经拥有了,所以看起来很轻。
这并不意味着你不会find任何东西。 只是它不可能像Access那样具有相同的成熟度或分布级别,特别是因为基础访问引擎已经被烧入Windows。
问题是find一个MS Access的替代scheme,该scheme包括一个可视化的拖放式开发环境,其中包含一个“合理的”数据库,其中整个工具包和堆栈可以免费部署。
我的第一个build议是查看这个非常完整的MS Access选项列表 (其中许多是免费的),然后是osalt.com上的开源数据库开发工具列表。
我的第二个build议是查看WaveMaker,这是一个开源的PowerBuilder for云(免责声明:我在那里工作,所以不应该被认为是一个无偏见的信息来源;-)
WaveMaker将拖放IDE与开源Java后端结合在一起。 它是根据Apache许可证授权的,拥有15,000个开发者社区。
VistaDB有一个免费使用的快速版本,语法和驱动程序与SQL Server兼容。 VistaDB是一个单一的文件,只需要他们的驱动程序.dll工作在您的asp.net或winforms项目。
由于语法和数据源兼容,如果需要,可以升级到SQL Server。
从他们的网站:
VistaDB是使用C#,VB.NET和其他CLR兼容语言的完全托pipe和types安全的ASP.NET和WinForms应用程序。
VistaDB.net
Access运行时许可从来没有那么贵 – 开发者工具/扩展的成本一直在300美元左右,只要我记得(这可能跟Access 2 Developers Toolkit或ADT相差甚远),但是使您能够将运行时应用程序分发给无限数量的用户。 只要你的运行时应用程序被三个或更多的用户使用,你就可以省钱了(假设每个用户安装一个完整的Access的费用为$ 100)。
Access 2007的运行时间是完全免费的,但实际上,之前的成本并不是那么好。
马克·格雷维尔(Marc Gravell)补充道(在我看来应该是一个评论):
然而,免费的,当然是鼓励人们尝试300美元的价格真的不鼓励。
你指的是免费的数据库的概念与应用程序,或类似Access的“单一文件,没有安装”数据库分发?
像SQL Server Express Edition这样的东西需要安装运行时,要创build和装载的数据库,人们的开始菜单上的条目,他们不会识别(我的妻子问为什么SQL Server在她的笔记本电脑上有一天)而Access数据库可以在单个文件中运行。
我想我问的是你想把数据库看作是你写的文档还是作为别人机器上的东西的一个实例?
科西2007.1.1可能是你正在寻找的。
它的快速版本是免费的,但数据库大小有限。 完整版本花费72美元。
从其主页的描述:科西是一个易于使用的应用程序,用于Linux和MS Windows的可视化数据库devise。 科西与MS Access,FoxPro,Oracle Forms和FileMaker竞争。
有关详细信息,请访问http://www.kexi-project.org/about.html 。
那么微软的Visual Studio Express呢? http://www.microsoft.com/express/default.aspx SQL Server Express也在那个链接…
那么r:Base? 在当天回来r:基地是一个非常强大的DOS(然后是Windows)RDMBS,这是预先访问/ pre-Paradox日子。 它最接近的竞争对手是dBase,但那时还没有完全的关系。 我开发了一些非常漂亮的R:基本应用程序,和今天的Access一样,有一个内置的报告生成器,表单工具,查询和表格操作。令我惊讶的是,它仍然活着! http://www.rbase.com/它似乎有所有的访问提供。; 可能是你要考虑的事情。
Apache Derby是一个很好的数据库select。
Gambas的
还可以查看http://www.sagekey.com/installation_access.aspx获取MS Access的重要安装脚本。 另外,如果您需要将图像集成到您的应用程序中,请在ammara.com上查看DBPix
与Aurelio的回答大致相同,我现在在Ruby on Rails上处理一些我以前可能在MS Access中完成的应用程序。 Rails应用程序的后端数据库。 通常,MySql(运行良好,可用于大多数共享Web主机)或PostgreSQL(如果可能,select更好)。
你看起来不仅仅是一个数据库程序,而是一个包含表单,报告等的数据库(基本上是一个IDE的种类)。 我会build议尝试OpenOffice.org的基地,随着办公套件。 它是免费的,开源的。 它远不及接入那样精致,但它的function几乎相同。
另外,如果你知道访问,至less会有点熟悉。
编辑:对不起,没有阅读,你正在考虑OpenOffice.org。 在稳定性方面,当我玩这个游戏的时候,我已经崩溃了,做了一些“奇怪”的事情,但是Access也做了同样的事情。 找出最好的方法是玩一下,看看是否适合你。
我认为OpenOffice.org包含的数据库中有表单devise器。 我从来没有尝试过写代码。 我看到的论坛post有一个指向他们说的代码的教程的链接。
我开始为我的妻子build立一个数据库,并且据我所知,界面出来的相当不错。
oooForum.org教程
我会和你一样的问题。 我有一个MS访问应用程序,但我想要去所有人都可以访问的Web应用程序,而无需向MS支付费用。 所以我决定使用MySql和Wavemaker(开源)来获得范围..我很高兴这个决定。 这就是结果http://www.mara-database.org/
对于sqlite,请查看Firefox的扩展。 它提供了一个可用的GUI。
VistaDB是唯一的select,如果你要在共享主机上运行你的网站(几乎所有人都不会让你在完全信任模式下运行你的网站),如果你需要简单的X – 复制部署启用网站。