我需要为Windows构建一个简单的单用户数据库应用程序。主要要求是独立于Windows版本和已安装的软件。您会推荐哪些技术(语言/框架)?我对语言的偏好是Visual Basic。
编辑:VB.Net和SQL Server Compact Edition怎么样?答案 0 :(得分:18)
我会推荐Sqlite。它是完全独立的,公共领域,因此根本没有许可证问题。
答案 1 :(得分:10)
答案 2 :(得分:7)
由于您的要求是基于Windows的应用程序,我建议您使用sql server 2005 express edition这是一个免费工具,但有一些小的限制。当你使用付费版本时,你可以升级到更大的版本。
还有其他数据库引擎,如SQL Lite或FireBird,如果它们提供的支持和增长选项足够适合您,请选择它们
此外,Visual Basic是有远见的。 VB.NET目前可能是一个更好的基于Windows的平台。它将提供一个更好的平台/功能开始,当你想扩展你在项目上工作的人才时,我认为.NET人才可能比想要使用死语言的程序员更有用。
答案 3 :(得分:3)
What options are there for a quick embedded DB in .NET?
的副本我会从那里重复我的回答:
“或者theres Esent,内置数据库,存在于每个Windows副本中。请在此处阅读:http://ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage-engine.aspx”和http://www.codeplex.com/ManagedEsent
答案 4 :(得分:2)
SQLite适用于本地桌面应用程序。如果你想要几个用户,几个gigas数据和多个连接,我会使用mysql或Firebird。
答案 5 :(得分:2)
FireBird SQL服务器将是首选。它可以像传统数据库一样用于嵌入式和多用户模式。它实现了许多SQL标准,并具有强大的社区基础。它适用于Windows,Linux,Solaris,OS X,HP-UX
答案 6 :(得分:1)
我使用的是SQL Server Compact Edition。这就像sqllite。使用ADO.NET访问的单个SDF文件。 您可以使用Visual Basic .NET开发应用程序,并使用Visual Studio管理数据库(添加表,列,约束等)。
答案 7 :(得分:1)
如上所述,SQLite是一个很棒的单用户数据库。 This page has VB/SQLite examples。一旦担心SQLite解析外键约束,但不强制执行它们。您可以将this code to generate "foreign key triggers"用于SQLite,从而获得一个易于使用的具有FK约束的数据库。
根据您的数据库需求的要求,您可能需要考虑MS Access。
答案 8 :(得分:0)
我敢提到MS Access ......?
答案 9 :(得分:0)
我可以从个人经验推荐“我的视觉数据库” 免费,没有代码,没有sql,只需拖放。
答案 10 :(得分:0)
Kexi会有效吗?
答案 11 :(得分:0)
我成功使用Turbo Delphi(免费用于商业和非商业用途)+ ZeosLib(zeos.firmos.at)。
您需要使用.exe分发的唯一内容是数据库客户端dll(无需安装客户端,只需将dll放在同一目录中)。
答案 12 :(得分:0)
如果您正在寻找小占用空间(最多几MB)并且易于部署(最终用户应该只安装您的应用程序以使其正常工作),那么您的选项是SQLite和Firebird嵌入式。
在这两个中,我会随时选择Firebird,因为它完全支持SQL(例如,您不能在SQLite中删除一个列),ACID合规性以及无需任何客户端/服务器的能力如果您决定让多个用户在同一个数据库上工作,则更改(只是将连接字符串从嵌入式服务器更改为服务器)。
更不用说您可以使用完整服务器进行开发(这意味着您的应用程序和数据库管理工具可以同时连接到数据库)。
答案 13 :(得分:0)
我不明白你对“独立形式[...]已安装软件”的意思。您至少需要安装DBMS以及一个客户端或用户界面。
我建议使用MS Access。对于简单的单用户任务和快速原型开发来说,它既简单又便宜。只需购买开发版(“普通”访问权限)即可创建数据库。可以从Microsoft主页免费下载Access 2007的运行时版本 - 仅使用您创建的数据库。
它还将DBMS和GUI前端结合在同一工具中。
答案 14 :(得分:0)
如果你想构建可以轻松移动到其他PC的应用程序,我更喜欢Microsoft Access它是一个易于使用的小型数据库,无需安装。它适用于Addressbook,mini crud系统等应用程序。
但是,如果您想开发企业数据库系统,则应使用MySQL代替。
答案 15 :(得分:0)
您的帖子中是否需要Web应用程序并不十分清楚。
对于Web应用程序,MySQL在Windows平台上有效运行。您还拥有几乎无限的开发环境选项,包括PHP,Ruby on Rails,Django和.Net。
如果您正在查看桌面应用程序,MS Access可能是合适的......对于简单的应用程序来说非常简单。
答案 16 :(得分:0)
好吧,假设你没有任何经验......
您需要某种持久性存储(例如数据库)和客户端。 对于存储,您几乎可以使用任何东西。例如,您可以在MS Access中创建数据库,并将其作为文件发送,使用ADO访问它。 其他选项是MS SQL Express版本(预装在某些机器上或可以免费安装)和大量开源数据库,如SQLite
对于客户端,VBScript和ADO(使用OLE DB驱动程序)不会出错。从Dark Ages开始,它们随Windows安装一起提供,您将在线获得大量的参考/教程/答案。 缺点:没有UI可言,所以你必须构建一个命令行界面(用于'简单'的应用程序)。
如果你想构建一个UI我建议使用.NET WinForms。开销将大大增加,但.NET现已安装在所有XP / Vista计算机上,即使不是,您也可以随身携带应用程序。
答案 17 :(得分:0)
取决于您对应用程序的需求。
您可以使用SQLLite这是一个非常好的数据库,无需安装。
您也可以使用Microsoft SQL Server: SQL Server Compact 3.5。
两者都是免费的!
答案 18 :(得分:0)
SQLite可能就是你要找的东西。 http://www.sqlite.org/
答案 19 :(得分:-1)
最佳选择是使用 Delphi 创建Win32本机应用程序,并使用SQLLite作为数据库。
原因是Delphi可以生成本机win32应用程序,而无需在机器上安装任何其他产品。