Oracle 升級造成Delphi程式出現 Capability not support Issue |
尚未結案
|
yachanga
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
小弟有一個問題 請各位大大幫忙 原本環境為 Oracle 8.1.6 , 升級為Oracle 9.2後
Delphi 某些程式片段會造成 Capability not support 問題.
不知有沒有大大知道如何解決??? 1. Client BDE 為5.11, 設定為Sqlora32.dll 或是 Sqlora8.dll 都一樣有問題 2. 只有包Transaction程式片段出問題如下..
所有的TQuery RequestLive=True, CachedUpdates=True
在Oracle 8沒問題, 升級到9i就是OK
DM.DB.StartTransaction; if QSHIP_PROC.State in [dsEdit,dsInsert] then begin QSHIP_PROC.Post; QSHIP_PROC.ApplyUpdates; end; if QSHIP_PROCESS_PL.State in [dsEdit,dsInsert] then begin QSHIP_PROCESS_PL.Post; QSHIP_PROCESS_PL.ApplyUpdates; end; if QSHIP_PROC_LOT.State in [dsEdit,dsInsert] then begin QSHIP_PROC_LOT.post; QSHIP_PROC_LOT.ApplyUpdates; end; if QLABEL.State in [dsEdit,dsInsert] then begin QLABEL.post; QLABEL.ApplyUpdates; end; if QLABEL_ITEM.State in [dsEdit,dsInsert] then begin QLABEL_ITEM.post; QLABEL_ITEM.ApplyUpdates; end; DM.DB.Commit; except DM.DB.Rollback; Showmessage('資料更新失敗! 請重試一下!'); end;3. 有發現兩個方法可以成功 (1) 把Transaction 拿掉...這太危險了 (2)每個Tquery 都加上 TupdateSQL 就可以.. 但是程式碼太多 改要花些時間 不知道有沒有什麼方法可以不改程式呢?? 真是頭大 |
Mickey
版主 ![]() ![]() ![]() ![]() ![]() 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
yachanga
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
Hi Mickey 板大:
謝謝您的回應... 經過幾天的測試...
發現有趣的現象 原來Delphi程式在Oracle 8i+Unix 跑得相當順...
升級到 Oracle 9.2+Unix 出現一些奇怪訊息.... 但是後來拿相同程式 在 Oracle 9.2+ Windows Server 跑得也很順 目前觀察到的結果是, 透過SQL Monitor trace 也發現,
原來的程式片段, 透過BDE解析要連到Unix Oracle 9.X時
根本解析不過, 就產生 Capability not support.. 這種結果真是令人匪夷所思.... ~悠遊法國號~
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |