我需要为Windows构建一个简单的单用户数据库应用程序。主要要求是独立于Windows版本和已安装的软件。您会推荐哪些技术(语言/框架)?我对语言的偏好是Visual Basic。

编辑:VB.Net和SQL Server Compact Edition怎么样?

有帮助吗?

解决方案

我建议 Sqlite 。它是完全独立的,公共领域,因此根本没有许可证问题。

其他提示

单用户还是多用户?

对于单个用户,答案是 SQLite

对于多用户(或多线程),请尝试 MySQL PostgreSQL

由于您的要求是基于Windows的应用程序,我建议您使用sql server 2005 express edition这是一个免费工具,但有一些小的限制。当你使用付费版本时,你可以升级到更大的版本。

还有其他数据库引擎,如SQL Lite或FireBird,如果它们提供的支持和增长选项足够适合您,请选择它们

此外,Visual Basic是有远见的。 VB.NET目前可能是一个更好的基于Windows的平台。它将提供一个更好的平台/功能开始,当你想扩展你在项目上工作的人才时,我认为.NET人才可能比想要使用死语言的程序员更有用。

重复什么.NET中有一个快速嵌入式数据库的选项吗?

我会从那里重复我的回答:

“或者theres Esent,内置数据库,存在于每个Windows副本中。在此处阅读: http ://ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage-engine.aspx "和 http://www.codeplex.com/ManagedEsent

SQLite适用于本地桌面应用程序。如果你想要几个用户,几个gigas数据和多个连接,我会使用mysql或Firebird。

http://www.mysql.com/ http://www.firebirdsql.org/

FireBird SQL 服务器将是首选。它可以像传统数据库一样用于嵌入式和多用户模式。它实现了许多SQL标准,并具有强大的社区基础。它适用于Windows,Linux,Solaris,OS X,HP-UX

如上所述,SQLite是一个很棒的单用户数据库。 此页面包含VB / SQLite示例。一旦担心SQLite解析外键约束,但不强制执行它们。您可以使用此代码生成“外键触发器”对于SQLite,从而获得了一个易于使用的数据库,具有FK约束。

根据您的数据库需求的要求,您可能需要考虑MS Access。

我使用的是SQL Server Compact Edition。这就像sqllite。使用ADO.NET访问的单个SDF文件。 您可以使用Visual Basic .NET开发应用程序,并使用Visual Studio管理数据库(添加表,列,约束等)。

SQLite可能就是你要找的东西。 http://www.sqlite.org/

取决于您对应用程序的需求。

您可以使用 SQLLite ,这是一个非常好的数据库,无需安装。

您还可以使用 Microsoft SQL Server:SQL Server Compact 3.5

两者都是免费的!

您的帖子中是否需要Web应用程序并不十分清楚。

对于Web应用程序,MySQL在Windows平台上有效运行。您还拥有几乎无限的开发环境选项,包括PHP,Ruby on Rails,Django和.Net。

如果您正在查看桌面应用程序,MS Access可能是合适的......对于简单的应用程序来说非常简单。

好吧,假设你没有任何经验......

您需要某种持久性存储(例如数据库)和客户端。 对于存储,您几乎可以使用任何东西。例如,您可以在MS Access中创建数据库,并将其作为文件发送,使用ADO访问它。 其他选项是MS SQL Express版本(预装在某些机器上或可以免费安装)和大量的开源数据库,如 SQLite的

对于客户端,VBScript和ADO(使用OLE DB驱动程序)不会出错。从Dark Ages开始,它们随Windows安装一起提供,您将在线获得大量的参考/教程/答案。 缺点:没有UI可言,所以你必须构建一个命令行界面(用于'简单'的应用程序)。

如果你想构建一个UI我建议使用.NET WinForms。开销将大大增加,但.NET现已安装在所有XP / Vista计算机上,即使不是,您也可以随身携带应用程序。

如果你想构建可以轻松移动到其他PC的应用程序,我更喜欢Microsoft Access它是一个易于使用且不需要安装的小型数据库。它适用于Addressbook,mini crud系统等应用程序。

但是如果你想开发企业数据库系统,你应该使用 MySQL

我不明白你所说的“独立形式[...]安装的软件”是什么意思。您至少需要安装DBMS以及一个客户端或用户界面。

我建议使用MS Access。对于简单的单用户任务和快速原型开发来说,它既简单又便宜。只需要购买开发版本(“普通”访问)来创建DB。可以从Microsoft主页免费下载Access 2007的运行时版本 - 仅使用您创建的数据库。

它还将DBMS和GUI前端结合在同一工具中。

我敢提到MS Access ......?

如果您正在寻找小占用空间(最多几MB)并且易于部署(最终用户应该只安装您的应用程序以使其正常工作),那么您的选项是SQLite和Firebird嵌入式。

在这两个中,我会随时选择Firebird,因为它完全支持SQL(例如,您不能在SQLite中删除一个列),ACID合规性以及无需任何客户端/服务器的能力如果您决定让多个用户在同一个数据库上工作,则更改(只是将连接字符串从嵌入式服务器更改为服务器)。

更不用说您可以使用完整服务器进行开发(这意味着您的应用程序和数据库管理工具可以同时连接到数据库)。

我成功使用Turbo Delphi(免费用于商业和非商业用途)+ ZeosLib(zeos.firmos.at)。

您需要使用.exe分发的唯一内容是数据库客户端dll(无需安装客户端,只需将dll放在同一目录中)。

Kexi 会有效吗?

我可以根据个人经验推荐“我的视觉数据库”。 免费,没有代码,没有sql,只需拖放。

http://myvisualdatabase.com/

最佳选择是使用 Delphi 创建Win32本机应用程序并使用SQLLite作为数据库。

原因是Delphi可以生成本机win32应用程序,而无需在机器上安装任何其他产品。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top