2012年3月29日 星期四

TIPTOP案例探討- r.f2 畫面檔時,一直發生錯誤

 

案例說明:

在 GP 5.1 / 5.2 / 5.25 版本中,在『極度的偶然』情況下,會發生 r.f2 編譯畫面時,一直發生 error:(GS-10067) Non existing schema ds attached to form 的錯誤

_5HD7CY`$ZZ]FFKNR@)GJ)2

如上圖所示。而且更糟的是,所有的畫面檔編譯,都不行了﹝其實,沒有參考到 ds 資料庫所做出的 formonly 畫面還是可以編譯的﹞。

此時,首先應該會想到,去 $TOP/schema 目錄下檢查 ds.sch 有沒有存在?在的。

那,重新產生一下 ds.sch 是否就可以了? r.s2 ds 重新生成了,呃,問題一樣。

解決方法:

這種情況,應該是資料庫中存在了 Genero 認不得的資料型態。以 ORACLE 來說,就是 NUMBER(37) 或是不限長度的 NUMBER( ) 。此兩種欄位都會照常的產出資訊到 ds.sch 中,然後造成 compiler 讀取資料時發生異常錯誤,然後自我了斷。

image

解法 1 : 鋸箭法

很簡單,去 ds.sch 內搜尋『 ^^ 』的符號﹝分隔符號中間無數值,非表情符號﹞,然後把該行刪掉。

缺點:重新 r.s2 後,問題如怨念般地又出現了。

解法 2 : 完全解決法

請先使用鋸箭法,搜尋出問題欄位,再用 alter 工具調整 NUMBER 長度,或是取消該 table / column ﹝如果真的沒用途的話,請先確認過,有練過在這麼做﹞。然後重新 r.s2 看看是否就此解決。

缺點:有點麻煩,而且沒有人以後再纏著你問此問題,會有一點寂寞…

 

PS. Genero 2.4 / TIPTOP GP 5.3 起,錯誤訊息已修正為

/u1/topprod/tiptop/schema/ds.sch:149:error:(GS-11552) Can't convert length for column 'aao00' of table 'aao_file'.
/u1/topprod/tiptop/azz/4fd/p_zz.4fd:/ManagedForm@databaseName:error:(GS-24213) Non existing schema ds attached to document

問題發生處就更加明確了…

沒有留言:

張貼留言