請教有經驗的先進,
資料庫主機使用DataSnap+SQL Server2008,
Client端執行任何查詢都不會有錯誤,
但Client端執行ApplyUpdates(0)就會出現以下錯誤訊息:
Remote Error:Access violation at address 00913FF7 in module DataSnapServer.exe.....
直接使用inert into也沒有問題。
可是我在本機上卻不會發生這個錯誤,但我本機上安裝的是SQL Server 2014 Express。
應該不可能是SQL Server版本的問題吧。
不知是否什麼地方沒有設定嗎?
煩請有經驗的先進不吝指教,謝謝。
uj5u.com熱心網友回復:
這是Delphi ClientDataSet的問題所在,我是從來沒有完全通過ApplyUpdates(0)更新資料,放棄了這一代碼更新,改為SQL的Update 陳述句實施更新操作。uj5u.com熱心網友回復:
在使用DataSnap時也遇到這種錯誤,但是是客戶端連接過多的時候,出現一次就一直無法正常運行,不知道是不是Bug。我跟蹤之后修改了Vcl.Forms單元中的FindGlobalComponent函式(紅色部分,簡單粗暴,直接跳過)可以避免報錯,如下:for I := 0 to Screen.DataModuleCount - 1 do
begin
Result := Screen.DataModules[I];
//防止模塊已經部分釋放(name置為nil)造成的地址錯無法繼續執行
try
if CompareText(Name, Result.Name) = 0 then Exit;
except
Continue;
end;
end;
不會影響程式的執行,但是是否會導致記憶體泄漏無法確定,你可以試試
uj5u.com熱心網友回復:
樓上的修改,洗掉了delphi一段自我保護啊!uj5u.com熱心網友回復:
通過存盤程序來處理吧,可維護性強。uj5u.com熱心網友回復:
你看看midas.dll有沒有問題uj5u.com熱心網友回復:
Access violation at address 00913FF7 in module DataSnapServer.exe...都說了錯誤在DataSnap服務器端
uj5u.com熱心網友回復:
明顯是服務器報的問題喲轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/93181.html
標籤:數據庫相關
