gpt4 book ai didi

delphi - MS Access 2007是否可以支持多用户环境?

转载 作者:行者123 更新时间:2023-12-03 18:24:52 25 4
gpt4 key购买 nike

有一个运行在多台计算机上的应用程序(大约在2台计算机上运行)。该应用程序更新了放置在网络上的共享mdb。两个用户都试图一次更新共享mdb,但问题是只有一个用户能够更新一次打开mdb。另一个用户无法打开它。有人可以建议访问支持多用户环境吗?

编辑:
TFormRoadAttrib有一种形式,当它激活时会调用以下函数

procedure TFrmRoadAttrib.FormActivate(Sender: TObject);
if dmTimeDomain <> nil then
begin
if not (dmTimeDomain.dbTimeDomain.InTransaction) then
begin
dmTimeDomain.dbTimeDomain.BeginTrans;
end;
end;


其中 dbTimeDomain=TADOConnection及其值是

'Provider=Microsoft.ACE.OLEDB.12.0;Mode=Share Deny None;Extended Properties="";Locale Identifier=1033;Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Data Source=Q:\BEL_01\BEL_GADM\ACCESS\Restrictions.mdb;Jet OLEDB:System database=C:\Program Files\Tele Atlas\Common Files\DPT.MDW;User ID=dbadpt;Password=dbadpt;

When we click on Ok button following code executes

if dmTimeDomain <> nil then
begin
if (dmTimeDomain.dbTimeDomain.InTransaction) then
dmTimeDomain.dbTimeDomain.CommitTrans;
end;
end;


请提示。

最佳答案

Access绝对支持多用户环境,但是必须正确设置您的权限。所有用户都必须能够在数据库所在目录中创建文件,并且所有用户必须有权修改其他用户在该目录中创建的文件。有很多方法可以解决这个问题。这是因为Access使用一个单独的.ldb文件作为其管理并发多用户访问的机制的一部分。

一个好的测试是让一个用户在共享目录中创建一个文本文件,然后确保另一用户可以打开该文件,然后保存对它的更改。

关于delphi - MS Access 2007是否可以支持多用户环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5001649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com