在tomcat的conf/context.xml里添加如下:

<Resource
name="jndi/hec"
scope="Shareable"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
url="jdbc:oracle:thin:@localhost:1521:orcl"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="50"
maxWaitMills="10000"
maxTotal="500"
username="noah"
password="noah" />在tomcat的conf/server.xml里添加如下:

<Resource
name="jndi/hec_global"
scope="Shareable"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
url="jdbc:oracle:thin:@localhost:1521:orcl"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="50"
maxWaitMills="10000"
maxTotal="500"
username="noah"
password="noah" />分三步
配置webRoot/WEB-INF/aurora.database/datasource.config文件:
<?xml version="1.0" encoding="UTF-8"?>
<dc:data-source-config xmlns:dc="aurora.datasource" className="aurora.datasource.JNDIDataSourceFactory" useTransactionManager="false">
<dc:database-connections>
<dc:database-connection jndiName="jndi/hec" containerName="TOMCAT" />
</dc:database-connections>
</dc:data-source-config>
<resource-ref>
<description>OracleDataSource</description>
<res-ref-name>jndi/hec</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>如noah.xml
<Context path="noah" reloadable="false" crossContext="true" docBase="D:\workspace\noahtest/webRoot" />
分两步
参见局部数据源部门的1配置
如noah.xml
<Context path="hec" reloadable="false" crossContext="true" docBase="D:\workspace\noahtest/webRoot">
<ResourceLink name="jndi/hec" global="jndi/hec_global" type="javax.sql.DataSource"/>
</Context>打开birt报表,如csp_payment_requisition.rptdesign, 将其中设置帐号密码的部分替换。

<property name="odaDriverClass">oracle.jdbc.OracleDriver</property>
<property name="odaJndiName">java:comp/env/jndi/hec</property>其中取单一字段的值,如取借款单的单据编号,建议使用row["REQUISITION_NUMBER"],不建议使用row._outer["REQUISITION_NUMBER"]。

图为:使用row._outer["REQUISITION_NUMBER"]方式取值

图为:使用row["REQUISITION_NUMBER"]方式取值
row 和 row._outer 的区别: http://www.eclipsezone.com/eclipse/forums/t74675.html