有一個應用程序正在多臺機器上運行(大致在2臺)。該應用程序更新了一個共享的mdb放置在網絡上。兩個用戶都試圖一次更新共享的mdb,但問題只有一個用戶能夠一次更新mdb。另一個用戶無法打開它。任何人都可以建議訪問支持多用戶環境?MS Access 2007可以支持多用戶環境嗎?
編輯:
有一種形式TFormRoadAttrib.When它激活以下函數被調用
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;
當我們確定按鈕點擊以下代碼執行
if dmTimeDomain <> nil then
begin
if (dmTimeDomain.dbTimeDomain.InTransaction) then
dmTimeDomain.dbTimeDomain.CommitTrans;
end;
end;
請提出建議。
刪除delphi標籤。這對您的問題不適用或有幫助。 – 2011-02-15 16:01:22
如果其中一個用戶正在使用Delphi應用程序,該怎麼辦?沒有足夠的信息提供知道,但在Delphi數據訪問層中可能會導致問題。其實,現在我已經閱讀了下面的評論,情況恰恰如此。 Delphi標籤絕對屬於我們,但我們也需要Delphi代碼,因此Delphi人員可以找出選項。 – 2011-02-16 02:42:59
請發佈控制事務的Delphi代碼。這可能是問題的根源。 – 2011-02-16 02:46:29