在j2ee的web專案中使用了水晶報表,根據水晶報表的原理,可以使用拉模式或者推模式給水晶報表提供資料來源,當你把資料來源提供給水晶報表後,對資料來源的管理就交給了水晶報表來處理,你就無法再操作此資料來源。特別是資料連線的釋放,就無法控制。在水晶報表的配置檔案中,水晶報表使用乙個timeout引數來決定釋放不再使用的資料庫連線。
如果在某一時候有大量使用者使用水晶報表,導致對資料庫的連線激增。
本人找到乙個方法手工釋放掉資料庫連線。在每次生成報表之前,把以前的所有連線釋放掉。
在session中儲存reportclientdocument變數,在每次生成報表之前,得到session的所有reportclientdocument,並呼叫reportclientdocument.close()方法。這樣對於每乙個session(或者使用者)來說,水晶報表的連線始終只用乙個。
方法如下:
/***
* @param session 會話
* @param prefixreportname 水晶報表在會話中屬性字首
* @param exceptreportname 會話中屬性字首是prefixreportname,但不是reportclientdocument的物件
去掉水晶報表的資料庫驗證介面
winform this.crystalreportviewer1.reportsource this.customerbylivingplace1 資料庫login foreach crystaldecisions.shared.iconnectioninfo connection in this...
水晶報表 建立不受資料庫限制的報表 1
一般使用水晶報表進行報表開發時,都要先指定資料庫連線。但是如果我們從事三層開發時,一般是不允許水晶報表直接訪問資料庫的,而是通過你的資料庫處理層返回資料給水晶報表 其實我們可以使用水晶報表中的字段定義作為資料 來徹底擺脫與資料庫的直接聯絡,從而開發出便於發布以及擺脫資料庫限制的報表系統。當然使用該欄...
水晶報表資料的繫結
設計水晶報表 在.net 中,微軟提供了一種優秀的報表工具,水晶報表。水晶報表提供一種視覺化的報表設計工具,將設計和執行有效地分離開,使資料包表的輸出更加容易。先看看報表設計,vs2005提供了嚮導式的水晶報表開發工具,首先設計時需要指定報告資料 水晶報表允許使用.net強型別資料集或者是實體物件作...