2010年11月20日

將 TIPTOP CR 主機虛擬化, 安裝篇

自從 TIPTOP GP 5.x 版開始, 報表顯示改由 CR 主機 IIS Web Service 來提供,
並由 Client 端 IE 來呈現.
但是當 CR 主機故障重置, 或是想要充份利用 CR 主機的資源, 虛擬化當然是最好的囉~~~
因為 IIS Application Pool 預設 .Net Framework 是提供實際記憶體的 60% 為最大值,
所以就算你的記憶體裝的再怎麼大,實際利用的還是有限啦~~ (可以手動改為比例)

以下就是 CR 主機的安裝步驟 :

1. 安裝 Windows Server 2008 R2 (只要有 IIS 的 OS 即可)

2. 安裝 IIS 和 .Net Framework (加上 ASP .Net的功能)
    原理 : TIPTOP GP 在網址上加密 (編譯) , 然後由 ASP .Net 解密 (組譯) ,
              再傳給 CR ActiveX 告訴 CR 是那一個模版、那一個 temp table (權限管控).

3. 安裝 Oracle Client, 並設定 Net Manager . (需要是 32 位元的)

4. 安裝 Crystal Report . (鼎新有附光碟片)
    這裡要小心喔,要自訂安裝, 記得要安裝 資料存取\ADO.Net 的功能,
    不然可是會顯示 .Net Framework 找不到 CR ActiveX 的元件的錯誤訊息.

5. 設定 IIS (鼎新有做一個批次檔,執行就可以了)
     5.1 複製 topprod 目錄.
     5.2 複製 crystalpreortviewers115 目錄.
     5.3 建立虛擬目錄 topprod 到指定磁碟位置.
     5.4 設定 topprod 為應用程式集區.
     5.5 設定 topprod 為 Framework 2.0
     5.6 設定應用程式集區 crap1,crap2…
     5.7 將 topprod 資料夾權限設定為 IUSER可讀取,背景作業才可寄附件。

6.設定印表機的所有需要用到的紙張格式、大小。

很簡單吧~~也可以玩玩 Windows Server 的 NLB 的功能, 分散 CR 報表伺服器的負載囉~~

14 則留言:

  1. 其實不用那麼麻煩
    1. 用 Acronis True Image for Server 9.x 備份
    2. 請參考這篇 http://lzmin.pixnet.net/blog/post/27767227

    回覆刪除
  2. 有工具當然是比較方便的作法啦~~
    謝謝您的建議。
    但我會把每天的資料庫都備份起來(現在硬碟實在是有夠大),當有需要時就可以還原到任何的主機、系統、資料庫上,不會限定只能用在系統錯誤還原上。

    回覆刪除
  3. 請問Adam有遇過

    tiptop跑報表時,IE出現 報表樣本錯誤 ,這類的錯誤訊息嗎?

    此時,我都要把 IIS Service 重啟才會正常跑出報表

    回覆刪除
    回覆
    1. 報表樣版錯誤嗎? 表示 asp.net 抓不到 rpt 檔的原因,應該是 asp.net 的問題,使用一陣子或大報表會這樣,
      請廠商提供新的程式,如果是以前沒有版更前的話,會有這樣的情況。廠商有提供 patch 直接程式覆蓋就可以了。

      刪除
  4. hi 張先生
    請問一下如果作業系統換x64的ram加大有用嗎?因為目前是用win2003 32bit 4G RAM
    LEO

    回覆刪除
    回覆
    1. CR 報表的效率不會有明顯的提升,你可以看目前 CR 主機的 RAM 的使用量,4G 應該還有剩。
      IIS 每一個 Application pool 只會用 700M 左右,你的應該是舊的 CR 只有一個應用程式集區,
      新版的 CR 就有 4 個應用程式集區,最多少只耗用掉 2.8G 以內的 RAM 。
      除非 RAM 超過 4G,不然作業系統 32bit 和 64bit 都可以用,CR 報表執行上也並不會差多少。

      刪除
  5. hi 張先生
    目前我們的cr是有4個應用程式集區,但是現在常常會出現記憶體不足報表無法顯示,所以想將windows 32bit改成windows 2008 x64,然後4個應用程式集區改成8個x700=5.6g這樣可以嗎
    leo

    回覆刪除
    回覆
    1. CR 出現記憶體不足原因是應用程式集區的的記憶體被吃光了,IIS 預設是 1740 分鐘才會回收釋放記憶體,
      所以29個小時執行的報表資料量超過 700mb 就會出現這個訊息了。
      我是改為固定時間回收記憶體,回收不會影響報表的執行,
      每天早上上班前回收一次,然後中午再回收一次,基本上就沒有再出現過記憶體不足的情況了。
      要增加應用程式集區也可以,記得要修改 topprodlb 的 web.config ,預設是 topprod1~4。

      刪除
    2. 感謝您的建議,我已經改此方式

      刪除
  6. 請問一下,我們公司有使用CR和GR報表(安裝在同一台主機),最近跑GR報表時,都會當住,跑不出預覽報表(CR報表則完全正常),cl_progress_bar的進度視窗顯示100%停住,每次都只能按alt+ctrl+del強制關閉, CR主機重開了問題仍是存在,請問您有遇過相似問題嗎?該如何解決?謝謝!

    回覆刪除
    回覆
    1. 你好,遇到這樣的情況,螢幕右下角應該是會出現紫色的GDC(genero desktop client)圖示,
      按右鍵關閉後,再印一次就會正常了,有時候會自動啟動電腦程式集的GDC,不是用IE的ActiveX的GDC。

      刪除
  7. 張先生,早安! 我把右下角紫色的GDC關閉,再次用GDC登入系統列印,所有GR報表仍是當住不動,(自上週一開始,所有USER皆遇到這狀況,我有到CR主機上查看GRE Engine已啟動,java.exe也有在執行),請問還有什麼方法可試著解決這問題嗎?感謝您的熱心協助!

    回覆刪除
  8. 張先生,早安! 我架設tiptop cr主機的時候,網頁一直跑出certid驗證失敗,無法開啟報表,查了很久有發現tiptop內的ds_report值設定有問題,請問怎麼重新建立ds_report這個值,感謝您的熱心協助!

    回覆刪除