繁体   English   中英

从SQL Server到MS Access 2007

[英]From SQL Server to MS Access 2007

您是否可以从在SQL Server中具有良好背景的开发人员的角度,推荐一个有关学习MS Access的良好资源。

此外,在以下方面,一些最佳做法提示也值得欢迎:

  • 多用户访问支持
  • 安全; 数据库和前端Access接口(Forms,Reports)
  • 部署

基本上,如果您同时具有SQL Server和MS Access开发的经验,那么您将向具有SQL Server经验的其他开发人员提供最佳实践建议,这些经验需要在MS Access(数据库和前端)中开发应用程序。

有问题的应用程序将托管在服务器上,并由多个用户共享(10至20)。 它只需要用MS Access 2007编写。要使用表单和报表访问数据(不能直接访问表)。 将有3种不同的用户类型-这意味着不同的访问权限。 所有这些都在Intranet设置中。

我意识到这个问题涉及面很广,但我希望以此作为一个很好的起点,对此我将不胜感激。

谢谢

编辑

到目前为止,谢谢您的回答。 只是想澄清一下,在这种特定情况下,MS Access是唯一的选择

不幸的是,Access遭受了不良的媒体报道和传闻,实际上其中许多确实已经过时了。

这里有一些有用的注释:

MS Access 2003-关于学习高级VBA的好书

MS Access(JET)是否适合多用户访问?

设置MS-Access数据库以进行多用户访问

https://stackoverflow.com/questions/469799/what-are-the-appropriate-uses-for-ms-access

ms-access标记中还有许多其他有用的线程,这些线程是由对Access有丰富经验的人写的,而不是某些注释中所表明的。

我认为对于具有SQL Server经验的人来说,主要困难将是适应于更为有限的Jet / Ace SQL。

老实说,我喜欢访问。 对于中级开发人员来说是什么工具。 它带有MS Office。 您可以使用此廉价的API创建功能完善的应用。

是的,使用MSAccess有缺点。 多用户支持是最大的缺点。 但请面对现实-Access并非专门为此设计的。

您希望为10到20个用户创建一个应用程序。 为此访问是完美的。 您将面临的问题是让这些用户都一次访问前端和表(与多用户一样)。 作为数据库引擎进行访问仅对少数几个连接有利。 Access包含许多工具,可帮助您解决问题。

我建议您创建适合您的Access的前端。 您可以发布MDE文件以分发给最终用户。 这样可以解决多个用户访问前端的问题。 然后,您可以在Access中扩大表并将它们发布到SQL数据库。 让我们面对现实吧-与10个以上的用户打交道时,您不要在后端使用SQL。 SQLEXPRESS是免费的。 连接上也没有最大值。 这样可以解决您的多用户问题。

这里唯一的先决条件是知道或能够学习VB,因为它是Access编程的命脉。 使用Access的选择是无限的。

编辑:您可以在Access中设置用户和工作组权限。 另外-发布MDE文件可确保不对前端进行任何更改。 MDE文件是只读的可分发文件。 很好吧 此外,一旦升级到SQL,就无法访​​问表。 那个怎么样?

Access是SQL Server的出色前端。 Jet也可以使用,但是性能和可靠性降低。

不错的网站:

图书:
有很多,但是我会提到O'Reilly的Access Cookbook 2d版。

MS Access是一个很棒的工具,但就像任何工具一样,必须正确使用。 我敢打赌,所有访问应用程序中有80%都是按照将表单绑定到整个表等的方式构建的很差。

对于我所有的访问应用程序,我都不使用绑定形式,而是使用代码来控制整个IO,如果项目永远不会超出访问权限,那么我强烈建议使用DAO来控制数据。

我的一个应用程序可供大约150个用户使用(10-30个并发用户),完全没有问题。 访问MVP中有一些出色的网站,我从他们那里学到了很多东西。

简短的答案是,如果设计正确,则访问对于该类型的项目应该是完美的。 忽略反对者和人们如何说访问不是为多用户环境设计的,而是从一开始就对其进行编码

MS Access无法与多个用户一起很好地工作,安全性很差,大型表存在很多性能问题。 我只是敢说这是一个绝妙的主意。

-编辑-

阐述“安全糟透了”:

Jet使用“弱加密方法,绝不应该使用它来保护敏感数据” -http://msdn.microsoft.com/zh-cn/library/aa139961(office.10).aspx

“ Access 2007不为以新文件格式(.accdb和.accde文件)创建的数据库提供用户级安全性。” -http://office.microsoft.com/en-us/access/HA101980471033.aspx?pid=CH100621891033

“打开Office Access 2007中创建的数据库时,所有用户都可以看到所有数据库对象。” -http://office.microsoft.com/en-us/access/HA101980471033.aspx?pid=CH100621891033

-结束编辑-

如果价格和易于报告是推动MS Access方向发展的主要考虑因素,请考虑将mySql与为其提供的许多报告生成工具中的任何一种一起使用。

我在一家使用MS Access数据库的公司工作,该数据库中最多有4个并发用户,并且该数据库一直处于阻塞状态。

我真的会拒绝在Access中进行构建。 如果这个要求是一成不变的,并且无法更改,那么我现在就走开了,在您的生活毁于一旦之前,您陷入了一个无休止的循环,试图修补最初不应该构建的系统。

如注释中所述,还存在mySql的其他免费选项:

PostgreSQL的

SQL紧凑

SQL Express

并且还有许多其他免费/廉价和体面的解决方案。

如果您不想走开,并且MS Access要求也不会改变:(请参阅:

开始使用Access 2007安全性

您可能还需要阅读本文档,以了解您将要面对的一些潜在问题和解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM