birt學習筆記-動態配置資料來源
1 動態配置資料來源
1.1 可以使用公用library
1) 新建一個公共的rptlibrary
2) 新建一個公共的資料庫(也可以從已有的報表中匯出 export to library)
這樣就建好一個公用的library.然後新建一個報表,匯入這個library.
3) 新建一個報表,點選resource explore檢視,找到之前建好的公用的rptlibrary,右鍵點選資料庫,add to export,新增到報表。
注意:一定不要拖動,拖動只是複製,不能動態的控制。
還有一種方法,直接修改xml配置檔案。
在<parameters>前面加入
<list-property name="libraries">
<structure>
<propertyname="fileName">sxrdBiz.rptlibrary</property>
<propertyname="namespace">sxrdBiz</property>
</structure>
</list-property>
注意:sxrdBiz.rptlibrary預設路徑是根目錄,當然也可以和報表放在一起,birt資源路徑配置如下
<!--
Resource location directory. Defaults to ${birt home}
設定使用者資源存放路徑,這些資源包括library檔案,image檔案等。預設是當前根目錄
-->
<context-param>
<param-name>BIRT_RESOURCE_PATH</param-name>
<param-value></param-value>
</context-param>
在</parameters>後面加入
<data-sources
<oda-data-sourceextensionID="org.eclipse.birt.report.data.oda.jdbc"name="Data Source"id="139"
extends="sxrdBiz.Data Source"/>
</data-sources>
如果之前你用的是拖動,那麼配置檔案就是這樣的:
<data-sources>
<oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="DataSource" id="64"
extends="sxrdBiz.Data Source">
<propertyname="odaDriverClass">com.mysql.jdbc.Driver</property>
<propertyname="odaURL">jdbc:mysql://218.108.106.39:3306/sxrdBiz</property>
<property name="odaUser">eden</property>
<encrypted-property name="odaPassword"encryptionID="base64">YWRtaW4=</encrypted-property>
</oda-data-source>
</data-sources>
從配置檔案中就能看出,報表的資料庫除了繼承公共的library中的資料庫,後面還加入了自己定義的資料庫資訊。所以使用的是自己的,沒有使用library中的資料庫。也就實現不了動態的控制了。如果你使用了拖動,必須要刪除xml配置資料庫中多餘的資訊。