历史版本17 :[设计器]Tomcat配置JNDI连接 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

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

2. 实现步骤编辑

使用版本及环境
下面以Windows10系统,tomcat 8.5.5,jdk 1.8,连接mysql 5.1.73数据库进行JNDI连接说明,其他版本数据库步骤基本相同。
2.1 拷贝驱动
将连接数据库的JDBC驱动拷贝到Tomcat安装目录下的%Tomcat_HOME%\lib下。
这边使用mysql 5.1.73数据库,所以把报表安装%FineReport_8.0%\WebReport\WEB-INF\lib目录下的mysql-connector-java-5.1.6-bin.jar驱动包,拷贝到Tomcat服务器目录下%Tomcat_HOME%\lib

222

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

222
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="yourusername" password="yourpassword" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://112.124.109.239:3306/test"/>
name="jdbc/TestDB"是JNDI的名字
username="yourusername" password="yourpassword" :是数据库用户名和密码;
driverClassName="com.mysql.jdbc.Driver":是数据库驱动器;
url="jdbc:mysql://112.124.109.239:3306/test":连接数据库的url。

2.3 修改报表工程下web.xml配置文件
部署工程时,注意在%Tomcat 8.5.5%\webapps\WebReport\WEB-INF\web.xml配置文件中servlet节点上添加如下内容:

222

<resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/TestDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
修改完成后,重新启动Tomcat服务器。
2.4 报表连接JNDI
注:由于Tomcat自身的限制,JNDI只能在Serverlet或者JSP访问。
切换到tomcat所在的工程,如何切换请查看远程设计新建JNDI数据连接,如下图:
222
Tomcat服务器报表连接JNDI只需要输入JNDI的名字即可连接成功,如下图:
222

查询JNDI中的表,如下图:
222