2009-09-04 41 views
0

我們開發了一套水晶報告(不是我的想法),它將重新創建我們發送的一些樣本PDF表單。我們已經爲報表中的每個頁面導入了背景圖像(從原始PDF中獲取),然後我們將數據字段拖放到這些數據字段之上。Crystal reports - 內存不足異常

現在,儘管原始圖像我們用於背景相對較小,但rpt文件非常大(約50 MB)。這有點麻煩,但現在,當我們部署到服務器時,我們發現在嘗試運行報告時,我們會發現內存不足錯誤。

有任何人任何想法:

  1. 一個更好的辦法來做到這一點。

  2. 該報告文件太大(以及如何減少它)的原因。

  3. 一個想法,爲什麼我們得到內存不足的錯誤。

+0

什麼版本的Crystal Reports? – MartW 2009-09-04 16:29:44

+0

50米報告文件。該死的! – dotjoe 2009-09-04 18:13:17

+0

這是與視覺工作室2008安裝的版本。是的50M - 這是一個可怕的痛苦。 – Paddy 2009-09-04 19:44:04

回答

0

哇,討厭。您是否可以分割這些報告,以便每個報告只有一個圖像?

如果不是,那麼您必須查看通過代碼將圖像加載到報告中。在報告中保存圖像本身總是會大量增加水晶報表(比如它將它們作爲TIFFs或其他內容存儲在內部),但有可能通過使用較小圖像的代碼來實現。 此代碼示例可能會有所幫助:

https://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/f02cd85d-cf66-2b10-878d-9337242838f0

+0

這是我們正在研究的方法。使報告的設計更令人討厭,但它看起來是必要的。感謝您的鏈接 - 這是實際指向SAP網站的少數幾個網站之一,而不是舊的,已停用的業務對象網站。 – Paddy 2009-09-06 10:10:46

0

這些錯誤很可能來自圖像本身。雖然您可能會將它們作爲小JPG文件傳遞給報告,但報告本身可能會將它們轉換爲位圖,這可能會非常巨大。

第一步:重新創建沒有任何圖像的報告,以確定圖像是否會造成巨大的尺寸。如果大小下降到例如5 MB,您肯定知道這些圖像會導致問題,需要找到解決方法。

要解決這個問題,您需要找到一種方法來告訴報告以JPG壓縮方式存儲這些圖像以再次減小尺寸。不過,我不知道Crystal Reports和/或您的項目是否可行。

(在最壞的情況下,您的報告不僅保存了這些圖像作爲位圖,但它也將其延伸到一個尺寸覆蓋整個頁面,從而使他們甚至更大!)

+1

我已經完成了驗證圖像導致問題的過程。我在水晶報告中看不到任何方法來告訴它如何存儲圖像,這有點麻煩...... – Paddy 2009-09-04 10:31:38

+0

所以,你需要以某種方式減小這些圖像的大小。或者向服務器添加更多內存。你使用的是32位服務器還是64位服務器?如果是64位,Web應用程序是否也被設計爲64位,包括Crystal Reports? – 2009-09-04 15:33:59