几年前我从高中开始就没有使用Access.
它解决了什么样的问题,甚至比真正的RDBMS支持的Web应用程序更好?
它还在积极发展吗?或者MS已经死了?
它最大的限制是什么?
更新:
应该使用什么资源来学习如何为小型企业开发MS Access解决方案?
谢谢
awr*_*ley 10
首先,Access是一个真正的RDBMS.它不是客户端服务器RDBMS.
这种情况的唯一含义是同时连接的数量存在节流,并且需要仔细考虑数据的安全性.
除此之外,Access也是一个使用VBA作为其语言的IDE.
这意味着在Access中,您可以编写链接到SQL Server后端,Access后端或SharePoint后端的前端应用程序.所以这是一个非常多功能的cookie.
它的局限性是:
安全性:如果您使用的是Access Back End,请注意它没有客户端服务器数据库的内置安全性.在任何应用程序中,安全性都是成本和数据必要保密的函数.
同时连接数.如果你不小心,Access会遇到超过10个人试图同时更新数据.你可以扩展它,但你需要知道你在做什么来保证结果.给它一个数字,让我们说50个同时连接.
像大多数数据库一样,它容易腐败.
注意:当将Access称为数据库时,您应该真正引用"数据库引擎",JET或ACE,具体取决于版本,对于Access 2007+,由您使用的文件格式决定.换句话说,如果要在Access表中存储数据,则使用JET或ACE.但是,如果您使用的是LINKED TABLES,例如SQL Server,那么严格来说,您不会对这些表使用JET或ACE安全性.
Access SQL不允许您编写存储过程(您可以在VBA中编写函数),因为Access SQL只允许命令式语句而不是过程语句(例如,控制流语句).您可以使用VBA函数引入一些"过程代码",但这与使用SQL语句非常不同.
您备份文件本身.您可以通过单击按钮编写代码来执行此操作.
安全始终是成本的函数.如果您的数据价值超过100,000美元(如果它被盗,并且您没有表现出尽职调查保护它的话,可能会失去权利或法律责任),那么Access可能不是答案.100,000是任意数字.具体数字取决于数据是否可保险以及数据丢失或被盗的后果.
即,如果数据的值是驱动问题,那么绝对不要使用Access作为后端.您是否将其用作前端,是一个预算问题.对于5000美元,我已经编写了10年后仍在运行的应用程序.他们现在需要将后端移植到SQL Server,因为敏感数据量已经增长.
在上述限制条件下使用时以及专业Access开发人员(而不是一些认为自己应该使用"冷却器"技术的心怀不满的傻瓜)使用时,访问将以十分之一的成本生成非常复杂,坚固且可靠的应用程序.其他系统.在这种情况下,Access是一个完整的NO BRAINER.
其他任何东西都会花费更多,花费更长时间,只会与编写代码和设计UI的人一样好.
我有一个应用程序(我在Access中构建的第一个应用程序)已运行10年没有问题.我们已大规模扩展它.我已经进入了ASP.NET MVC,但Access是我欢呼的地方,我看到它运作良好.
总而言之:用户数量是相关的,数据中隐含的价值或负债是另一个决定因素.
如果同时用户数量较少且数据的值/隐含负债较低,那么选择肯定是Access.
但是,给自己一个好的开发人员.
EDITS /澄清:
像所有答案一样,上面的答案是在一个工作日的中间匆忙写的.有些陈述有点粗俗和通用,没有合适的精确度......但是,当其他人的评论合理时,答案的作者应编辑帖子并澄清.
1 /
访问是神圣的三位一体.它是一个用于编写表单,报表和函数以在查询中使用的IDE.它"包含"了一个数据库引擎(JET/ACE).它为数据库引擎提供了一个Visual Interface,允许您设计查询,设置表之间的关系等.
它通常在其许多角色中称为Access,但精确度确实有助于学习Access并充分利用它.
2/
Access不能使用存储过程,因为Access SQL只能使用命令式语句而不是程序性语句(例如,控制流语句).我一直认为,有一个原因是要将它们称为存储过程.
3 /
并非每个Access应用程序的成本都是100,000.Access应用程序的预算也不等于数据的价值.这很明显.我试图传达的想法是,如果数据的价值超过了可以合理保险的金额,那么就不要使用Access.这个数字是100,000吗?根据Luke Chung和Clint Covington,前任Access的项目经理,是的,但是不要相信他们.它真的只是意味着"很多钱".
我已经为医疗慈善机构编写了一个应用程序,该应用程序在初始预算为5000之后仍然运行10年.他们多年来可能投入了另外20,000个.这种应用程序是Access甜蜜点.
| 归档时间: |
|
| 查看次数: |
442 次 |
| 最近记录: |