访问vs SqlServer的简单数据库

时间:2009-05-15 02:02:38

标签: sql sql-server ms-access

我目前正在开发一个非常简单的数据库,用于跟踪人员及其持有的公司认证。此数据库需要将认证信件存储为PDF文件。我被要求在MS Access中开发它,但我认为最好在SQLServer中构建它并使用Windows Forms来构建接口。此应用程序需要可以从共享驱动器等公共位置访问。

我的问题是,像我想的那样在SQLServer中做这件事会更好吗,还是我已经充满了它,我的老板是对的钱?或者我们都错了?

8 个答案:

答案 0 :(得分:7)

我使用很多的Access的一个很好的替代方案是SQL Server Compact (SqlCe)。这是一个与SQL Server Express / Standard / etc完全不同的产品。它是一个像Access这样的进程内数据库,它不作为单独的进程或服务运行。

  • 免费
  • 完全ACID支持
    • 支持多个连接
    • 完整的交易支持
    • 参照完整性(包括级联更新和删除)
    • 锁定
  • T-SQL语法和SQL Server数据类型(与SQL Server相同的API)
  • 占地面积小(约2 MB)
  • 轻松部署(支持ClickOnce,MSI,XCopy等)
  • 数据库包含在您可以移动的单个文件中
  • 支持ADO.NET,LINQ to SQL,LINQ to Entities。

答案 1 :(得分:2)

这是一个非常困难的问题,不了解应用程序的规模。在我看来,我不会用33.5英尺杆接触Access。

访问的好处:

  1. 无需专用机器
  2. 没有便携性问题
  3. SQL Server的好处

    1. 更好的SQL合规性
    2. 更好的管理控制
    3. 您打算将PDF文件存储在数据库中吗?如果是这样,为什么?

      我选择SQL Server。

答案 2 :(得分:1)

构建在SQL Server上的应用程序将比使用MS Access构建的应用程序更强大并支持更多用户。

基于MS Access构建的应用程序可以更容易调试,因为缺少服务器,缺乏重要的多用户支持,并且整个数据库位于磁盘上的单个文件中,可以轻松复制。

鉴于此,几乎在所有情况下,我选择SQL Server而不是MS Access。

答案 3 :(得分:1)

唉,这个世界是个好消息吗?使用SQL服务器。 Express版本是免费的,并且足够强大以满足您的要求。如果您愿意,您甚至可以继续在Access中执行表单/报表/ UI设计,它可以非常轻松,透明地连接到SQL Server。

SQL优先于访问:并发性,可扩展性,可靠性,更少的未来开发人员试图追捕并杀死你。

如果我可以避免它,我几乎从不使用数据库访问,现在SQL Express存在。

答案 4 :(得分:0)

如果我是你,我会选择其他人所说的并使用SQL Express:

http://www.microsoft.com/express/sql/default.aspx

您可以免费获得真正的SQL环境的所有好处!您甚至可以使用SQL Management Studio以及利用Reporting Services(如果您下载高级包)。下载以下链接:

http://www.microsoft.com/express/sql/download/

哪个版本的SQL Server 2008 Express适合您? SQL Server 2008 Express有以下3个版本(每个版本都可以从安装向导中获得):

带有工具的SQL Server 2008 Express SQL Server数据库引擎 - 创建,存储,更新和检索数据 SQL Server Management Studio Basic - 用于创建,编辑和管理数据库的可视化数据库管理工具 带有高级服务的SQL Server 2008 Express SQL Server数据库引擎 - 创建,存储,更新和检索数据 SQL Server Management Studio Basic - 用于创建,编辑和管理数据库的可视化数据库管理工具 全文搜索 - 用于搜索文本密集型数据的功能强大的高速引擎 Reporting Services - 用于创建报告的集成报告创建和设计环境 SQL Server 2008 Express(仅限运行时) SQL Server数据库引擎 - 创建,存储,更新和检索数据 SQL Server 2008 Management Studio Express(SSMSE) 免费,易用的图形管理工具,用于配置,管理和管理SQL Server 2008 Express。它还可以管理由任何版本的SQL Server 2008创建的SQL Server数据库引擎的多个实例,包括工作组,Web,标准版和企业版。

注意:此单独下载专为之前安装过SQL Server 2008 Express(仅限运行时)的客户设计。如果您是第一次下载SQL Server Express和SSMSE,请从安装向导下载带有工具的SQL Server 2008 Express。

对我而言,访问真的是一个业余爱好者工具,或者此时真正的基本本地项目尚未被逐步淘汰。我肯定希望使用SQL Express,如果你将来超出4 GB的数据库障碍,它会使升级变得更容易。

答案 5 :(得分:0)

使用您拥有的最佳技能 - Access适用于各种项目,如果您知道自己在做什么,它可以很好地扩展。相反,一个糟糕的程序员可以在Win Forms和SQL Server中创建一个应用程序,并生成一个表现不佳的怪物。

我个人会选择SQL Express和Win Forms或ASP.Net前端,因为经验表明,这些小项目可以轻松地开发到比原计划更大的应用程序和基于SQL构建的结构良好的数据库如果需要,服务器可以更容易地扩展到更多用户。

答案 6 :(得分:-1)

很难说不了解环境。可能是所有用户都拥有Access,但没有桌面拥有.NET Framework(尽管这很难相信)。也许他们的所有应用程序都在Access上,而且那里的所有开发人员和用户都知道。

鉴于所有这些废话,你应该使用SQL Server Express 2008Visual Studio 2008 Express。希望我不会让你被解雇。 :)

答案 7 :(得分:-2)

如果正如您所说的那样,应用程序是一个非常简单的数据库,那就是访问正是为了创建简单的数据库。您可以在同一环境中编写数据库和应用程序表单,用户无需安装任何内容。

虽然可以同时访问您的应用程序,但要小心。如果您使用访问解决方案,则多个用户将无法同时使用该应用程序。如果您希望这种情况发生,您将需要数据库和应用程序分开。这并不意味着数据库需要是SQL服务器,如果您不需要更复杂的引擎,您仍然可以使用Access作为数据库。

编辑:只需阅读您计划拥有10个用户且少于1000条记录的评论。关于SQL服务器的FORGET,你会浪费你的钱。无论您决定使用简单的全访问解决方案还是分布式Web应用程序或具有远程存储的桌面应用程序,Access都比您需要的功能强大数百倍。即使是访问的“玩具主义”引擎,你也没有使用它的1%。