Y
ywjjj
Unregistered / Unconfirmed
GUEST, unregistred user!
李維<<Delphi5.x分散式多層應用系統篇>> 3-2-3中有這樣一段話:'當應用程式伺服器的
Tdatasetprovider收到用戶端的呼叫(ApplyUpdates)時,在開始更新資料庫之中資料時,
應用程式伺服器便開始進入交易控制狀態,一直到異動的資料成功的更新回資料庫之後才會
呼叫Commit確認'......'在多層應用系統中用戶端需要異動資料時,程式師不需要在用戶端
或是應用程式伺服器中自行呼叫StartTransaction再進入另一個交易控制'.
以此為理論根據,實作當中我們在客戶端就只這樣寫;
'clientdataset1.applyupdate(-1);clientdataset2.applyupdate(-1);'
結果有如下問題產生;
1.clientdataset1成功異動,clientdataset2報錯返回,clientdataset1和clientdateset2
沒宥同時rollback,我們認為此問題很嚴重.
2.經常報錯:'A user transaction is already in progress'
'Changed record is used by another user'
以致無法異動資料.
我想對以上李維那段話我們肯定存在理解上的偏差,望各位高手指出來;同時我們實作當中
的問題亦望得到各位指點,謝謝!
我們是用 delphi5+midas+sql7.0 開發的.
Tdatasetprovider收到用戶端的呼叫(ApplyUpdates)時,在開始更新資料庫之中資料時,
應用程式伺服器便開始進入交易控制狀態,一直到異動的資料成功的更新回資料庫之後才會
呼叫Commit確認'......'在多層應用系統中用戶端需要異動資料時,程式師不需要在用戶端
或是應用程式伺服器中自行呼叫StartTransaction再進入另一個交易控制'.
以此為理論根據,實作當中我們在客戶端就只這樣寫;
'clientdataset1.applyupdate(-1);clientdataset2.applyupdate(-1);'
結果有如下問題產生;
1.clientdataset1成功異動,clientdataset2報錯返回,clientdataset1和clientdateset2
沒宥同時rollback,我們認為此問題很嚴重.
2.經常報錯:'A user transaction is already in progress'
'Changed record is used by another user'
以致無法異動資料.
我想對以上李維那段話我們肯定存在理解上的偏差,望各位高手指出來;同時我們實作當中
的問題亦望得到各位指點,謝謝!
我們是用 delphi5+midas+sql7.0 開發的.