2008年12月21日 星期日

第一次使用 Crystal Report, 感覺很差

使用 Crystal Report, 真的是吃了不少苦頭。

        Crystal Report 的確有相當不少的優點。但也有不少的缺點。

  1. 對於開發人員不夠友善。例如想要全選/複製,就常常會碰釘子。小技巧:不要選到特殊的 image control,就可以多選。當多選時,找不到複製的編輯命令時,就代表有些 control 無法與別的 control 一起複製。
  2. 效能不佳。我想要使用 Crystal Report 輸出成 PDF,因為其輸出的 中文PDF 可以使用搜尋文字的功能,而Reporting Service 輸出的 中文PDF 卻不行。(20090217 見 http://msdn.microsoft.com/zh-tw/library/ms159713(SQL.90).aspx, 在 sql server 2005 sp3 已有 embbed font了,就可以搜尋)。但沒想到Crystal Report 輸出成 PDF 的效能卻奇差無比。每轉一張竟要 1.4 秒 (at Intel Core2 CPU 6300@1.86GHz, 3.00 GB Ram)
  3. 要license. Visual Studio 內附的是陽春版,只能同時 5 個 client存取。多了就會出 Exception. 不像 Reporting Service (Client, rdlc),是免費的。
  4. 買了開發版後,也有限制,PrintJobLimit 就是我碰的一例。
  5. 在開發機器裝了 Crystal Report 2008 後,可以開發了。但一旦重開機後,在 Visual Studio 2008 開啟報表,就會出現如圖一的嚴重錯誤。把整個 Visual Studio 弄掛掉。或者如圖二的錯誤訊息。圖二的錯誤訊息,相信寫 C++ 的人並不寞生,這是使用指標寫資料到memory,寫錯了長度造成的memory crash。
  6. 很秏資源。每產生一個 PDF 檔,伺服器Memory 就秏掉了2-3 MB,必須等到下一次的 Garbage Collection 時才會回收。在 C:\Windows\Temp 也需要產生 *.rpt 的暫存檔案。因為很秏資源,又無法改進,只好加入 PrintJobLimit 來限制出錢的客戶。雖然可以修改 registry 來修改限制的上限,那也只不過是倒果為因罷了。

我目前的建議:不要使用 Crystal Report,除非有特殊原因。因為感覺很差啦!

圖一:一打開就掛掉

image

圖二:有些則是

image

3 則留言:

匿名 提到...

我是用web版的,用很久了,感覺很好用啊!

匿名 提到...

您好,想要請問我現在是用reportint servic 2008但是轉出PDF後無法在PDF上進行搜尋文字,不管中文或數字,都會變成亂碼,依據您建議的方式卻不知道從哪邊嵌入字型,可以請教如何做嗎? 謝謝
我的連絡資訊是 lancelot0913@yahoo.com.tw

秉程 提到...

說實話,我不喜歡使用 SSMS,原因是比較難和我的應用程式整合,要多花一些功夫。我到是較常用 rdlc (client side report).

至於您的問題,應該在 http://technet.microsoft.com/en-us/library/ms159713(SQL.100).aspx 就有提到如何實作了。這裡也提到需要重新開機嵌入字型才會生效。

很可惜,目前沒有時間來實作一個 lab,僅能幫你找一下連結。

Share with Facebook