MS Access(JET)是否适合多用户访问? [英] Is MS Access (JET) suitable for multiuser access?

查看:104
本文介绍了MS Access(JET)是否适合多用户访问?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个产品设计为使用MS Access文件作为数据库的台式机产品.

I have a product designed to be a desktop product using MS Access file as a DB.

现在,一些用户需要将其安装在几台PC(例如2台或3台)中并共享数据库.

Now, some users need to install it in a few PCs (let's say 2 or 3) and SHARE the database.

我想将MS Access文件放在一个共享文件夹中,然后从PC上访问它,但是... JET引擎是为多用户访问而设计的吗?

I thought to place the MS Access file in a shared folder and access it from the PC, but... the JET Engine is designed for multiple user access?

有任何提示或需要注意的事情吗?

Any tips or things to be aware of doing this?

该应用程序是一个.net版本,使用数据库作为存储(不使用数据库作为前端)

The app is a .net one, using the database as storage (not using the database as frontend)

推荐答案

此线程中的答案有太多错误信息,我不知道从哪里开始.我只是花了4点声望,否决了其中包含误导性和错误信息的答案.

There is so much misinformation in the answers in this thread that I don't know where to start. I just spent 4 points in reputation voting down the answers with misleading and wrong information in them.

  1. Jet数据库引擎(这里涉及到的所有内容,正如OP通过修改所阐明的那样)默认情况下是多用户的-它是从头开始构建的.

  1. the Jet database engine (which is all that's involved here, as the OP clarified with an edit) is by default multi-user -- it was built from the ground up to be that way.

共享Jet数据存储非常可靠.这意味着不是广域网,也不是无线网络,因为带宽必须足以使Jet维护LDB文件(用于多用户锁定),这意味着每秒必须通过本地PC的Jet数据库引擎实例ping(一次)默认设置),并且因为Jet无法从断开的连接中恢复(这在无线环境中非常普遍).

sharing a Jet data store is very reliable when the network is not substandard. This means not a WAN and not wireless, because the bandwidth has to be sufficient for Jet to maintain the LDB file (for multi-user locking), which means a ping by your local PC's instance of the Jet database engine once per second (with default settings), and because Jet can't recover from a dropped connection (which is quite common in a wireless environment).

Access崩溃的情况是共享前端Access应用程序MDB时(此发卡人情况并非如此).失败的原因是因为您正在共享无法可靠共享且没有理由共享的内容.由于Access对象存储在MDB文件中的方式(整个Access项目存储在系统表之一的一条记录中的单个BLOB字段中),如果多个用户打开它,则很容易损坏.据我估计,共享Access前端(或与一个MDB中的表和表格/报表/等不拆分的MDB)共享是导致99.99%的Access/Jet文件损坏的原因.

the situation where Access falls down is when a front-end Access application MDB is shared (which is not the case for this poster). The reason it fails is because you're sharing things that can't be reliably shared and have no reason to be shared. Because of the way Access objects are stored in an MDB file (the entire Access project is stored in a single BLOB field in one record in one of the system tables), it's very prone to corruption if multiple users open it. In my estimation, sharing an Access front end (or an unsplit MDB with the tables and forms/reports/etc. all in one MDB) is the source for 99.99% of corruptions of Access/Jet files.

我对OP问题的基本回答是,是的,对于那种大小的应用程序,Jet将是一个很好的数据存储区.但是,如果完全有可能使用户数量增加到25岁以上,那么最好从头开始使用数据库引擎,该引擎在较高的用户群体下更健壮.

My basic answer to the OP's question is that, yes, Jet would be a great data store for an app of that size. However, if there's any possibility at all for the user population to grow above 25, then it might be better to start off from scratch with a database engine that is more robust at higher user populations.

这篇关于MS Access(JET)是否适合多用户访问?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆