[设计器]Tomcat配置JNDI连接

编辑
  • 文档创建者:文档助手1
  • 浏览次数:7546次
  • 编辑次数:23次
  • 最近更新:Kevin-s 于 2019-06-02
  • 1. 问题描述

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

    2. 实现步骤

    使用版本及环境

    下面以 Windows10 系统,Tomcat 8.5.5,jdk 1.8,连接 mysql 5.1.73 数据库进行 JNDI 连接说明,其他版本数据库步骤基本相同。

    2.1 拷贝驱动

    将连接数据库的J DBC 驱动拷贝到 Tomcat 安装目录下的%Tomcat_HOME%\lib下。

    这边使用 mysql 5.1.73 数据库,所以把报表安装%FineReport_10.0%\webapps\webroot\WEB-INF\lib目录下的 mysql-connector-java-5.1.39-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%\webapps\webroot\WEB-INF\下新建 web.xml 文件,内容添加如下内容:


    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


    附件列表


    主题: 数据连接
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]