当前位置: 代码迷 >> 报表 >> 帆软报表FineReport中数据联接之Tomcat配置JNDI连接
  详细解决方案

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

热度:612   发布时间:2016-04-29 01:50:23.0
帆软报表FineReport中数据连接之Tomcat配置JNDI连接

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连接则可以到下一步看如何进行设置,如下图:


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

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


保存设置和提交修改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的名字即可连接成功,如下图:


2.5?预览报表

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

?

  相关解决方案