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

时间:2021-10-03 11:43:59

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配置成功了。

帆软报表FineReport中数据连接之Tomcat配置JNDI连接的更多相关文章

  1. 帆软报表FineReport中数据连接之Websphere配置JNDI连接

    以oracle9i数据源制作的模板jndi.cpt为例来说明如何在FineReport中的Websphere配置JNDI连接.由于常用服务器的JNDI驱动过大,帆软报表FineReport中没有自带, ...

  2. 帆软报表FineReport中数据连接的JDBC连接池属性问题

    连接池原理 在帆软报表FineReport中,连接池主要由三部分组成:连接池的建立.连接池中连接使用的治理.连接池的关闭.下面就着重讨论这三部分及连接池的配置问题. 1. 连接池原理 连接池技术的核心 ...

  3. 帆软报表FineReport中数据连接之Weblogic配置JNDI连接

    1. 制作报表的原理 在帆软报表FineReport设计器中先用JDBC连接到数据库,建立数据库连接,然后用SQL或者其他方法创建数据集,使用数据集制作报表,然后把建立的数据库连接从JDBC连接改成J ...

  4. 帆软报表FineReport中数据连接之Jboss配置JNDI连接

    使用sqlsever 2000数据库数据源来做实例讲解,帆软报表FineReport数据连接中Jboss配置JNDI大概的过程和WEBSPHERE以及WEBLOGIC基本相同,用JDBC连接数据库制作 ...

  5. 帆软报表FineReport SQLServer数据库连接失败常见解决方案

    1. 问题描述 帆软报表FineReport客户端连接SQLServer(2000.2005等),常常会出现如下错误:com.microsoft.sqlserver.jdbc.SQLServerExc ...

  6. 帆软报表FineReport数据连接中游标问题解决方案汇总

    1. 概念 在数据库中, 游标是一个十分重要的概念.游标是一种能从包括多条数据记录的结果集中,每次提取一条记录的机制. 用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,往往是一个含有多个记 ...

  7. 帆软报表FineReport数据库连接编码转换

    1. 问题描述 数据库会以某种编码方式保存与读取数据,FineReport解析时默认使用GBK字符集,若数据库端编码与设计器端编码不一致时,就会导致中文及特殊字符的乱码. FineReport在定义数 ...

  8. 帆软报表&lpar;FineReport&rpar;实现跨数据源父子查询&lpar;2阶段查询&rpar;

    问题描述: 在报表中需要查询多个系统多个数据源,且有一个数据源的入参是另一个数据源的返回值.所以当用户点击查询到展现报表数据这个过程中,需要先做父查询,查询出的结果在作为子查询. 实现方案: 方案一: ...

  9. 帆软报表(finereport)单元格中各颜色标识的含义

    帆软报表(finereport)单元格中,可根据单元格角标的颜色判断单元格进行的操作 过滤:单元格左下角黄色三角形 条件属性:单元格左上角红色三角形.  控件:单元格右侧中间的各种矩形.  左父格:单 ...

随机推荐

  1. MyCat源码分析系列之——SQL下发

    更多MyCat源码分析,请戳MyCat源码分析系列 SQL下发 SQL下发指的是MyCat将解析并改造完成的SQL语句依次发送至相应的MySQL节点(datanode)的过程,该执行过程由NonBlo ...

  2. iOS开启隐藏文件以及显示文件方法

    显示:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏:defaults write com.apple.finder A ...

  3. Ajax基本概念和原理

    什么是Ajax Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. Ajax的全称是Asynchronous JavaScript and XML,即异步JavaScript+X ...

  4. spring 两个 properties

    A模块和B模块都分别拥有自己的Spring XML配置,并分别拥有自己的配置文件: A模块 A模块的Spring配置文件如下: <?xml version="1.0" enc ...

  5. Android(java)学习笔记83:finally关键字的作用

    package cn.itcast_07; import java.text.ParseException; import java.text.SimpleDateFormat; import jav ...

  6. 字符串相似度算法(编辑距离算法 Levenshtein Distance)

    在搞验证码识别的时候需要比较字符代码的相似度用到“编辑距离算法”,关于原理和C#实现做个记录.据百度百科介绍:编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串 ...

  7. VB6之SendMessage模拟拖放事件

    原文链接:http://hi.baidu.com/coo_boi/item/e1e0f5ab45bddbdd5af191df 网上找了个C++的翻一下,原文链接:http://www.cnblogs. ...

  8. C primer Plus&lowbar;part6

    第十章  数组和指针 1.const :保护变量不受改变,特别是在作为入参传入函数 对于变量:const 不能修改值 对于指针: const 可以修改值,但是不能修改指向对象 #include< ...

  9. &lbrack;LeetCode&rsqb; Longest Line of Consecutive One in Matrix 矩阵中最长的连续1

    Given a 01 matrix M, find the longest line of consecutive one in the matrix. The line could be horiz ...

  10. pgm1

    很遗憾前面只看过 Michael Jordan 写的一部分,这次打算把 Daphne Koller 和 Nir Friedman 合著的 Probabilistic Graphical Models: ...