有没有MS Access是比SQL Server更好的选择?

Tom*_*ell 3 sql-server ms-access

这个问题的灵感来自我近一年前提出的一个问题 - 任何一个与ms原型接触的工作 - 最近再次变得活跃,但是作为Access vs SQL Server的争论.

似乎有很多Access仇恨者,主要说唱似乎是它不能很好地扩展(虽然有些人似乎已经能够使它工作).

对于那些使用过这两种技术的人来说,是否存在使用Access over SQL Server的情况?

为什么?

你怎么能提高你的成功几率?

例如,在具有一个或少量用户的桌面应用程序上,Access可能是更好的选择吗?

或者,如果采取反向策略,何时应该避免使用Access?

再次,为什么?

编辑当我说"访问"时,我想获得有关两件事的反馈:

  1. 仅使用数据库组件(Jet/ACE)

  2. 使用应用程序开发功能(报告,脚本等)

毕竟,如果您的应用程序可以忍受数据库端的限制,那么使用某些app dev功能可能会有一些优势.

(仅供记录,我在这场战斗中没有狗 - 我是一个满意的SQLite用户.)

OMG*_*ies 7

是否有使用Access over SQL Server的情况?

当我不打算成为支持它的人时.

访问很常见,管理比SQL Server少.客户找到能够维持设置的人的机会更好,而且接受培训的成本更低(大多数大专院校和娱乐中心都有课程).

在具有一个或少量用户的桌面应用程序上,访问可能是更好的选择吗?

据我所知,Access可能仍然不是一个好的选择,两个或更多人可以在同一时间更新相同的记录.根据SQL Server Express或Compact Editions,PostgreSQL或MySQL等免费选项,对需要控制的最终用户征税(尽管他们可能真的不应该为了非规范化数据而使用它).

什么时候应该避开Access?

当识别数据的重要性时,以及数据迁移的影响.

除了免费之外,我还推荐使用SQL Server Express Edition,因为您可以将版本作为插件替换.同样适用于Oracle Express Edition.在上述任何一个之后,PostgreSQL将是我的下一个建议; MySQL落后于开发人员功能,与PostgreSQL不同 - 可能需要商业许可证.

  • @ David-W-Fenton:当你使用Access作为后端时,你"需要知道你在做什么"以避免诸如数据损坏之类的事情,这几乎可以扼杀它的命运.我不必担心添加更多用户是否会破坏我的sql server安装. (5认同)