學習了一段時間birt,發現每一個報表都要設置數據源,這樣以后要是改動了,數據庫的鏈接,那樣每個報表的數據源都要更改,那樣工作量是很大的,研究了下發現可以使用公用library的可以很好的解決這個問題。
1、點擊eclipse的新建,里面可以發現有個library,點擊新建library庫,起名ds.rptlibrary 我放在頁面的根目錄下面。
2、在里面新建數據源,配置連接到你的數據庫,我起名字叫data
3、報表中引用ds.rptlibrary. 關鍵啊,打開你要引用的報表,比如a,
在eclipse左下角添加,resource explorer 控件,打開找到ds.rptlibrary,展開找到data,點擊右鍵add to report,
就添加了到現有報表數據源里面,注意,網上有些說法是把data拖過去,那樣在修改data的時候拖過去的那個data不會進行改變。一定要add to report過去,
還有在修改data的時候不要打開別的報表,否則回詢問你是否不在和data關聯,
一般點是以后,在修改data那個報表也不跟著表了,
這是因為拖過去的就是拷貝一份現有數據庫連接到報表里面。
關鍵的關鍵啊。。。。。 數據源添加過去以后,一定在在該報表的xml source 里面去修改下ds.rptlibrary的路徑,默認的路徑在網頁上查看報表的時候是找不到的, 報錯。,
比如我放在了根目錄,路徑是這樣的
一定要把前面的名稱去掉。
<list-property name="libraries">
<structure>
<property name="fileName">ds.rptlibrary</property>
<property name="namespace">ds</property>
</structure>
</list-property>
下次研究如何讀取項目中的數據庫配置文件,爭取就在一個地方配置數據庫就可以了。