1. 程式人生 > >birt學習筆記-動態配置資料來源

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配置資料庫中多餘的資訊。