帆软报表FineReport中数据连接之Tomcat配置JNDI连接

shouen 2015-12-25

1. 问题描述

在帆软报表FineReport中,通过JNDI方式定义数据连接,首先在Tomcat服务器配置好JNDI,然后在设计器中直接调用JNDI的名字,即可成功使用JNDI连接,连接步骤如下:

2. 实现步骤

· 使用版本及环境

下面以Windows XP系统,tomcat 5.5,jdk 1.6,连接SQLserver2000数据库进行JNDI连接说明,其他版本数据库步骤基本相同。

2.1 拷贝驱动

将连接数据库的JDBC驱动拷贝到Tomcat安装目录下的%Tomcat_HOME%\common\lib下。这边使用SQLserver2000数据库,所以把报表安装%FineReport_8.0%\WebReport\WEB-INF\lib目录下的sqljdbc.jar驱动包,拷贝到Tomcat服务器目录下。

2.2 Tomcat服务器定义JNDI

· 方法一:通过context.xml配置文件定义JNDI

可在%Tomcat_HOME%\conf\context.xml配置文件中定义JNDI,在最后一行Context上面添加定义SQLserver2000数据库连接JNDI代码如下:

1. <Resource name="FRTOMCATJNDI" auth="Container" type="javax.sql.DataSource" username="sa" password="sa" driverClassname="com.microsoft.sqlserver.jdbc.SQLServerDriver" maxIdle="30" maxWait="10000" maxActive="100" url="jdbc:sqlserver://192.168.100.107:1433;databaseName=FRTest" />   

name="FRTOMCATJNDI":则是JNDI的名字;username="sa" password="sa" :是数据库用户名和密码;driverClassname="com.microsoft.sqlserver.jdbc.SQLServerDriver":是数据库驱动器;url="jdbc:sqlserver://192.168.100.107:1433;databaseName=FRTest":连接数据库的url。

· 方法二:通过Admin模块定义JNDI

进入tomcat的Admin模块,并选择中左边的datasource结点,网页右边就列出Tomcat中所有的可用全局JDNI连接,如果没有JNDI连接则可以到下一步看如何进行设置,如下图:

帆软报表FineReport中数据连接之Tomcat配置JNDI连接

注意:从Tomcat5.5开始core包或者windows的安装包中将没有admin模块,需要用户去Tomcat官方网站上下载,所以建议大家直接使用context.xml配置文件定义JNDI。

点击右上角Data Source Actions下拉框里面选择Create New Data Source,新建数据连接如下编辑:

帆软报表FineReport中数据连接之Tomcat配置JNDI连接

保存设置和提交修改Tomcat的JNDI配置。

然后在%Tomcat_HOME%\conf\context.xml配置文件里面添加调用上面定义jndi连接,在最后一行Context上面添加代码如下:

1. <ResourceLink global="FRTOMCATJNDI" name="FRTOMCATJNDI" type="javax.sql.DataSource"/>  

如上两种方法都可以定义jndi连接。

2.3 修改报表工程下web.xml配置文件

部署工程时,注意在%Tomcat 5.5%\webapps\jndi\WEB-INF\web.xml配置文件中servlet节点上添加如下内容:

1. <resource-ref>  

2.   <description>Resource</description>   

3.   <res-ref-name>FRTOMCATJNDI</res-ref-name>   

4.   <res-type>com.microsoft.sqlserver.jdbc.SQLServerDriver</res-type>   

5.   <res-auth>Container</res-auth>   

6.   </resource-ref>  

2.4 报表连接JNDI

注意:由于Tomcat自身的限制,JNDI只能在Serverlet或者JSP访问,所以设计报表时先用JDBC连接,发布时再换成JNDI。

Tomcat服务器报表连接JNDI只需要输入JNDI的名字即可连接成功,如下图:

帆软报表FineReport中数据连接之Tomcat配置JNDI连接

2.5 预览报表

重新启动Tomcat服务器,浏览报表,能访问到报表内容,则JNDI配置成功了。

相关推荐