后端数据库锁定 [英] Back end database lock-up

查看:81
本文介绍了后端数据库锁定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请原谅我的noobness。我正在管理一个由4个用户共享的访问数据库

。管理层不希望在此应用程序之外使用任何外部访问技术(无SQL Server等)。我已将

数据库拆分为前端和后端数据库,并将前端

放在每个用户的计算机上。所有用户都可以同时打开前端

,但一旦有人更新了表单中的数据,后面的

结束了。


我期望发生的事情:

- 我认为访问应该使用乐观锁定(?),这只会锁定正在更新的记录,但它会锁定整个

数据库。


我尝试了什么:

- 我检查并仔细检查了查询和表格设置为no-



- 我尝试取出所有计算值(字符串操作)

查询

- 我不是唯一一个在这方面工作的人,所以有很多

其他东西看起来无济于事。

$ b $我很难过。感谢您的帮助。

Excuse my noobness. I am managing an access database that is shared
by 4 users. Management does not want to use any technologies outside
of access for this application (no SQL Server, etc). I have split the
database into front end and back end databases and put the front end
on each of the users'' computers. All users can open the front end
simultaneously, but once somebody updates data in the form, the back
end locks up.

What I expect to happen:
- I assume that access should use optimistic locking (?) that would
only lock the records that are being updated, but it locks the entire
database.

what I''ve tried:
- i checked and double checked that the query and form are set to no-
locks
- I tried taking out all calculated values (string manipulations) in
the query
- I''m not the only one working on this, so there have been quite a few
other things looked at to no avail.

I''m stumped. Thanks for any help.

推荐答案

建议:


1.这是否有线(CAT5)网络?

没有不稳定的连接(比如使用WiFi的笔记本电脑)?


2.你说每个用户都有自己不同的前端MDB

计算机,但是你说他们同时打开前端(单数)

。每个人都打开一个单独的前端MDB文件,它们是自己的C:驱动器吗? (这是最好的。)


3.检查*每个*前端的开放模式和锁定策略。

在A2007中,''办公室按钮|访问选项|高级。

在早期版本中,它是工具|选项|高级。

您应该看到:

- 默认打开模式:共享

- 默认记录锁定:无锁

4.关闭所有前端。确保后端文件夹中的LDB文件已经消失了。然后再试一次。 (实际上,它是第一个设置

实际锁定模式的用户。)


-

Allen Browne - 微软MVP。西澳大利亚珀斯

访问用户提示 - http:// allenbrowne .com / tips.html

回复群组,而不是mvps dot org的allenbrowne。


" zm ***** @ gmail.com" < sa ******** @ gmail.comwrote in message

news:d7 ********************** ************ @ q30g2000 prq.googlegroups.com ...
Suggestions:

1. Is this on a wired (CAT5) network?
No unstable connections (such as notebooks using WiFi)?

2. You say that users each have a different front end MDB on their own
computers, but then you say they open the front end (singular)
simultaneously. Is each one opening a separate front end MDB file that''s on
their own C: drive? (That''s best.)

3. Check the open mode and locking strategy of *each* front end.
In A2007, that''s Office Button | Access Options | Advanced.
In earlier versions it''s Tools | Options | Advanced.
You should see:
- Default Open mode: Shared
- Default Record Locking: No Locks

4. Close all front ends. Make sure the LDB file in the back-end folder is
gone. Then try again. (In practice, it''s the first user in who sets the
actual locking mode.)

--
Allen Browne - Microsoft MVP. Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"zm*****@gmail.com" <sa********@gmail.comwrote in message
news:d7**********************************@q30g2000 prq.googlegroups.com...

请原谅我的noobness。我正在管理一个由4个用户共享的访问数据库

。管理层不希望在此应用程序之外使用任何外部访问技术(无SQL Server等)。我已将

数据库拆分为前端和后端数据库,并将前端

放在每个用户的计算机上。所有用户都可以同时打开前端

,但一旦有人更新了表单中的数据,后面的

结束了。


我期望发生的事情:

- 我认为访问应该使用乐观锁定(?),这只会锁定正在更新的记录,但它会锁定整个

数据库。


我尝试了什么:

- 我检查并仔细检查了查询和表格设置为no-



- 我尝试取出所有计算值(字符串操作)

查询

- 我不是唯一一个在这方面工作的人,所以有很多

其他东西看起来无济于事。

$ b $我很难过。谢谢你的帮助。
Excuse my noobness. I am managing an access database that is shared
by 4 users. Management does not want to use any technologies outside
of access for this application (no SQL Server, etc). I have split the
database into front end and back end databases and put the front end
on each of the users'' computers. All users can open the front end
simultaneously, but once somebody updates data in the form, the back
end locks up.

What I expect to happen:
- I assume that access should use optimistic locking (?) that would
only lock the records that are being updated, but it locks the entire
database.

what I''ve tried:
- i checked and double checked that the query and form are set to no-
locks
- I tried taking out all calculated values (string manipulations) in
the query
- I''m not the only one working on this, so there have been quite a few
other things looked at to no avail.

I''m stumped. Thanks for any help.


11月13日,3:42 * am,Allen Browne < AllenBro ... @ SeeSig.Invalidwrote:
On Nov 13, 3:42*am, "Allen Browne" <AllenBro...@SeeSig.Invalidwrote:

建议:


1.这是否有线(CAT5) )网络?

没有不稳定的连接(例如使用WiFi的笔记本电脑)?


2.你说每个用户都有自己不同的前端MDB

计算机,但是你说他们同时打开前端(单数)

。每个人都打开一个单独的前端MDB文件,它们是自己的C:驱动器吗? (这是最好的。)


3.检查*每个*前端的开放模式和锁定策略。

在A2007中,''办公室按钮|访问选项|高级。

在早期版本中,它是工具|选项|高级。

您应该看到:

- 默认开放模式:* * * * *共享

- 默认记录锁定:* *无锁定


4.关闭所有前端。确保后端文件夹中的LDB文件已经消失了。然后再试一次。 (实际上,它是第一个设置

实际锁定模式的用户。)


-

Allen Browne - 微软MVP。 *西澳大利亚珀斯

访问用户提示-http://allenbrowne.com/tips.html

回复群组,而不是alvbrowne在mvps dot org。


" zmic ... @ gmail.com" < samlamb ... @ gmail.com写信息


新闻:d7 *********************** *********** @ q30g2000 prq.googlegroups.com ...
Suggestions:

1. Is this on a wired (CAT5) network?
No unstable connections (such as notebooks using WiFi)?

2. You say that users each have a different front end MDB on their own
computers, but then you say they open the front end (singular)
simultaneously. Is each one opening a separate front end MDB file that''s on
their own C: drive? (That''s best.)

3. Check the open mode and locking strategy of *each* front end.
In A2007, that''s Office Button | Access Options | Advanced.
In earlier versions it''s Tools | Options | Advanced.
You should see:
- Default Open mode: * * * * *Shared
- Default Record Locking: * *No Locks

4. Close all front ends. Make sure the LDB file in the back-end folder is
gone. Then try again. (In practice, it''s the first user in who sets the
actual locking mode.)

--
Allen Browne - Microsoft MVP. *Perth, Western Australia
Tips for Access users -http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"zmic...@gmail.com" <samlamb...@gmail.comwrote in message

news:d7**********************************@q30g2000 prq.googlegroups.com...

请原谅我的noobness。 *我正在管理一个由4个用户共享的访问数据库

。 *管理层不希望使用此应用程序之外的任何技术(无需SQL Server等)
。 *我已将

数据库拆分为前端和后端数据库,并将前端

放在每个用户的计算机上。 *所有用户可以同时打开前端

,但一旦有人更新了表单中的数据,后面的结果就会锁定。
Excuse my noobness. *I am managing an access database that is shared
by 4 users. *Management does not want to use any technologies outside
of access for this application (no SQL Server, etc). *I have split the
database into front end and back end databases and put the front end
on each of the users'' computers. *All users can open the front end
simultaneously, but once somebody updates data in the form, the back
end locks up.


我期望发生什么:

- 我认为访问应该使用乐观锁定(?) />
只锁定正在更新的记录,但它会锁定整个

数据库。
What I expect to happen:
- I assume that access should use optimistic locking (?) that would
only lock the records that are being updated, but it locks the entire
database.


我尝试了什么:

- 我检查并仔细检查查询和表单是否设置为no -



- 我尝试取出所有计算值(字符串操作)

查询

- 我不是唯一一个在这方面工作的人,所以有很多

其他东西看起来无济于事。
what I''ve tried:
- i checked and double checked that the query and form are set to no-
locks
- I tried taking out all calculated values (string manipulations) in
the query
- I''m not the only one working on this, so there have been quite a few
other things looked at to no avail.


我很难过。 *谢谢你的帮助。
I''m stumped. *Thanks for any help.



Allen,


非常感谢您的回复


1.是的每台电脑都有线。


2.每个用户在自己的C:驱动器上都有自己的ACCDB前端。


3.每个前端都按照您在访问选项中的建议进行配置(我今天会仔细检查



4.锁定文件未创建直到用户通过

表格更新数据。任何已经打开相同表单的计算机也可以进行

更改。更新完成后,

表单的任何新实例都是不可更新的。当更新用户关闭表单时,

锁定文件就会消失。


通过表单更新查询的东西会锁定后端

数据库,然后后端被锁定,直到表格完全关闭。


我认为这个问题发生在有人发生的时候更新。


谢谢,


Sam

Allen,

Thanks so much for your response

1. Yes every computer has a wired.

2. Each user has their own ACCDB front end on their own C: drive.

3. Each front end is configured as you suggested in Access Options (I
will double check today)

4. The locking file is not created until a user updates the data via
the form. Any computer that has that same form already open can make
changes as well. After an update is made, any new instance of the
form is "not updatable." When the updating users close the form, the
locking file goes away.

Something about updating the query through the form locks the back end
database, then the back end is locked until the form is completely
closed.

I think the problem is occurring at the point that someone updates.

Thanks,

Sam


这只是一个点查看关于使用正确的工具进行正确的
工作。对于32位系统中可靠的多用户操作 - 你应该使用为32位系统设计的多用户系统--sql server(我知道这不是
)你的选择)。 Access多用户专为

16位系统设计(赢得3.11)。


几年前,我正在签约一家拥有

将项目从主框架迁移到Access(多用户 - 赢2000)

并且有几个问题 - 有些类似于你的问题。我重写了

应用程序,解决了一些问题,并建议升级到sql server的
。他们拒绝了,又回到了大型机。我剩下
了。最后我听到(来自那个地方的前同事)他们终于

升级到sql server。


不要敲门 - 这是一个很棒的迷你RDBMS,但对于企业环境中的32位系统

- 这就是MS开发服务器系统的原因。
像Access这样的基于文件的系统并不是一致的在32位

到访问权限,您可能最好为每个用户使用单独的应用程序(正面和背面

结束)。然后将他们的个人数据复制到

主mdb。


Rich


***通过Developersdex发送< a rel =nofollowhref =http://www.developersdex.comtarget =_ blank> http://www.developersdex.com ***
This is just a point of view about using the right tool for the right
job. For reliable multi-user operations in a 32 bit system - you should
use a multi-user system designed for 32 bit systems - sql server (which
I realize is not an option for you). Access multi-user was designed for
16 bit systems (win 3.11).

Several years ago I was contracting for a large company that had
migrated a project from main frames to Access (multi-user - win 2000)
and were having several problems - some similar to yours. I rewrote the
application(s) which solved some of the problems and also recommended
upgrading to sql server. They declined and went back to mainframes. I
left. Last I heard (from a former coworker at that place) they finally
stepped up to sql server.

Not to knock Access - it is a great mini RDBMS, but for 32 bit systems
in an enterprise environment - this is why MS developed a server system.
A file based system like Access just isn''t as consistent in a 32 bit
environment as a server sytem for multi-user ops. If you are restricted
to Access you may be better off using individual apps (front and back
end combined) for each user. Then replicate their individual data to a
master mdb.

Rich

*** Sent via Developersdex http://www.developersdex.com ***


这篇关于后端数据库锁定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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