有關ApplyUpdate 的問題(Exception) |
缺席
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
實在很抱歉
我又又來了, 怎麼xe5問題這麼多 我使用 ClientDataSet 回寫 Applyupdate(0) 或 (-1) 在server端有一支 ServerMethod 接收 我發現安裝在 server 2003 上, 都會出現 Exception in safecall method 查了網路也提到這個問題是 xe5 的問題, 並且也指出在 xe5 update2 有修正 而且在官網 http://qc.embarcadero.com/wc/qcmain.aspx?d=118633 也指出已修正(fixed), 我也更新到 upd2 (hot fix4), 但編譯出來的server端程式還是會如此, 可是我放在 server 2008 的確不會有這個問題 (測試在 xp, win7 有的會, 有的不會, win8, win8.1 也會) |
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
ApplyUpdate 出錯可能有:
1. ClientDataSet 和 WebModule 失去連線 ( SQLConnection -> DSServer ) 2. ApplyUpdate 過程中出現封包異常的問題 (ClientDataSet -> DataSetProvider ) WebModule: 1. 檢查 DSServer 的事件( O nConnect, O nDisconnect, O nError 等) ServerModule : 1. 可以在 ApplyUpdate 前先使用 ClientDataset.DataRequest 看看 DataSetProvider 是否能正常接受 2. DataSetProvider O nUpdateError 有沒有出現錯誤 簡單的說,就是要判斷流程是在 WebModule 還是 ServerMethods 單元中出錯 這個問題應該無關 FireMonkey 架構才是 ===================引 用 P.D. 文 章=================== 實在很抱歉 我又又來了, 怎麼xe5問題這麼多 我使用 ClientDataSet 回寫 Applyupdate(0) 或 (-1) 在server端有一支 ServerMethod 接收 我發現安裝在 server 2003 上, 都會出現 Exception in safecall method 查了網路也提到這個問題是 xe5 的問題, 並且也指出在 xe5 update2 有修正 而且在官網 http://qc.embarcadero.com/wc/qcmain.aspx?d=118633 也指出已修正(fixed), 我也更新到 upd2 (hot fix4), 但編譯出來的server端程式還是會如此, 可是我放在 server 2008 的確不會有這個問題 (測試在 xp, win7 有的會, 有的不會, win8, win8.1 也會) |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
感謝ruru兄的說明,
不過目前有幾個不解的 1. 我放在 window server 2008, win7, xp 上 ServerMethod 沒有問題, 唯獨於在 window 2003 會出此狀況 2. 我在測試調出資料都沒有問題, 所以 失去連線或封包異常的問題應該不存在, 只要在資料要applyupdate(有blob)才出現 3. 因為在 embd官網找到該篇說明, 有指出進行 xe5 update fixed 的情況, 所以才會朝是否為xe5 的狀況研判 目前訊息還不是很明朗, 還得做很多測試 ===================引 用 GrandRURU 文 章=================== ApplyUpdate 出錯可能有: 1. ClientDataSet 和 WebModule 失去連線 ( SQLConnection -> DSServer ) 2. ApplyUpdate 過程中出現封包異常的問題 (ClientDataSet -> DataSetProvider ) WebModule: 1. 檢查 DSServer 的事件( O nConnect, O nDisconnect, O nError 等) ServerModule : 1. 可以在 ApplyUpdate 前先使用 ClientDataset.DataRequest 看看 DataSetProvider 是否能正常接受 2. DataSetProvider O nUpdateError 有沒有出現錯誤 簡單的說,就是要判斷流程是在 WebModule 還是 ServerMethods 單元中出錯 這個問題應該無關 FireMonkey 架構才是 ===================引 用 P.D. 文 章=================== 實在很抱歉 我又又來了, 怎麼xe5問題這麼多 我使用 ClientDataSet 回寫 Applyupdate(0) 或 (-1) 在server端有一支 ServerMethod 接收 我發現安裝在 server 2003 上, 都會出現 Exception in safecall method 查了網路也提到這個問題是 xe5 的問題, 並且也指出在 xe5 update2 有修正 而且在官網 http://qc.embarcadero.com/wc/qcmain.aspx?d=118633 也指出已修正(fixed), 我也更新到 upd2 (hot fix4), 但編譯出來的server端程式還是會如此, 可是我放在 server 2008 的確不會有這個問題 (測試在 xp, win7 有的會, 有的不會, win8, win8.1 也會) |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
1. 我還是不明白版大下 ApplyUpdate 時所出現的 Exception 是在 Android 下所產生的,還是送到 REST Service 後所產生的?
2. 如果沒有用到很特別的效果,那 REST Service 或許可以考慮使用 XE 重建再試試看 ===================================================== 就我之前測試 XE5(第一版) 開發 DataSnap iOS App 時 當時的 XE5 非常的不穩定(貌似 Fix 後也好不到哪裡去?),通常 Debug 1 次後 Debuger 有很大的機率會當掉 不過也因為沒有用得很深,所以把原先 DataSnap 的 Code 使用 XE 來重建,就正常多了,在追 Code 時也相對簡單許多 也找到一些 DataSnap 的 Bugs 並回報 EMBT QC,那些 Bugs 都是從 XE 以來就一直存在著的了 ===================引 用 P.D. 文 章=================== 整個下午都在查這個問題, 越查越心寒, 這項討論已經查google, yahoo網超過上千篇的討論, 沒有看到一個有解的, 如果解不了的話, 那整個xe5 for Android 不就宣告放棄了? |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
我是在手機上使用 TClientDataSet 對 Server端 DataSnap 進行 Applyupdate
所引發的錯誤是在手機上 ===================引 用 GrandRURU 文 章=================== 1. 我還是不明白版大下 ApplyUpdate 時所出現的 Exception 是在 Android 下所產生的,還是送到 REST Service 後所產生的? 2. 如果沒有用到很特別的效果,那 REST Service 或許可以考慮使用 XE 重建再試試看 ===================================================== 就我之前測試 XE5(第一版) 開發 DataSnap iOS App 時 當時的 XE5 非常的不穩定(貌似 Fix 後也好不到哪裡去?),通常 Debug 1 次後 Debuger 有很大的機率會當掉 不過也因為沒有用得很深,所以把原先 DataSnap 的 Code 使用 XE 來重建,就正常多了,在追 Code 時也相對簡單許多 也找到一些 DataSnap 的 Bugs 並回報 EMBT QC,那些 Bugs 都是從 XE 以來就一直存在著的了 ===================引 用 P.D. 文 章=================== 整個下午都在查這個問題, 越查越心寒, 這項討論已經查google, yahoo網超過上千篇的討論, 沒有看到一個有解的, 如果解不了的話, 那整個xe5 for Android 不就宣告放棄了? |
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
這樣的話我只能想到一個笨解
假設ServerMethods 是可以正常工作的 那麼 1. ClienyDataSet 存成 XML 2. XML 送回SERVER 3. 存回 clientdataset 4. 連結 DataSetProvider 5. ApplyUpdate 或許能先解決 P.D. 版大的問題 ===================引 用 P.D. 文 章=================== 我是在手機上使用 TClientDataSet 對 Server端 DataSnap 進行 Applyupdate 所引發的錯誤是在手機上 ===================引 用 GrandRURU 文 章=================== 1. 我還是不明白版大下 ApplyUpdate 時所出現的 Exception 是在 Android 下所產生的,還是送到 REST Service 後所產生的? 2. 如果沒有用到很特別的效果,那 REST Service 或許可以考慮使用 XE 重建再試試看 ===================================================== 就我之前測試 XE5(第一版) 開發 DataSnap iOS App 時 當時的 XE5 非常的不穩定(貌似 Fix 後也好不到哪裡去?),通常 Debug 1 次後 Debuger 有很大的機率會當掉 不過也因為沒有用得很深,所以把原先 DataSnap 的 Code 使用 XE 來重建,就正常多了,在追 Code 時也相對簡單許多 也找到一些 DataSnap 的 Bugs 並回報 EMBT QC,那些 Bugs 都是從 XE 以來就一直存在著的了 ===================引 用 P.D. 文 章=================== 整個下午都在查這個問題, 越查越心寒, 這項討論已經查google, yahoo網超過上千篇的討論, 沒有看到一個有解的, 如果解不了的話, 那整個xe5 for Android 不就宣告放棄了? |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
sorry, DataSnap 對我已經是很新的東西,
xml 的做法我完全一無所知, 不知有何文獻可以參考哦! ===================引 用 GrandRURU 文 章=================== 這樣的話我只能想到一個笨解 假設ServerMethods 是可以正常工作的 那麼 1. ClienyDataSet 存成 XML 2. XML 送回SERVER 3. 存回 clientdataset 4. 連結 DataSetProvider 5. ApplyUpdate 或許能先解決 P.D. 版大的問題 |
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
leveon
資深會員 發表:30 回覆:389 積分:303 註冊:2012-02-12 發送簡訊給我 |
路過 插花
直接 use MidasLib 可以不用發佈 midas.dll 就可免除版本問題 Midas問題一直很多 直到Delphi 2005才趨於穩定 Delphi 易主後 有公佈midas C 的source code 一大堆看似補洞的程式 一大堆 goto exit , goto xxx 很多功能看似有實作 又好像沒做完 很難修改 ===================引 用 P.D. 文 章=================== 經高人指點後, 此問題已解決 原因是midas.dll 的版本問題, 我測試的環境原已有midas(delphi 5提供的), 改用 xe5 內附的 midas 就解決了 可能是 midas 為配合 xe5 的 string型別有改版吧, 我猜的 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |