以oracle9i数据源制作的模板jndi.cpt为例来说明如何在FineReport中的Websphere配置JNDI连接。由于常用服务器的JNDI驱动过大,帆软报表FineReport中没有自带,所以可以采取下面的方法来使用服务器中的JNDI连接。原理:先用JDBC连接到数据库,建立数据库连接,然后用SQL或者其他方法创建数据集,使用数据集制作报表,然后把建立的数据库连接从JDBC连接改成JNDI连接,然后配置好服务器中的JNDI连接,然后按照我们下面章节所说的部署好服务器,这样就可以通过WEB浏览器浏览到使用JNDI连接的报表了。
1. 制作使用JNDI连接的报表
首先使用JDBC方式连接数据库oracle9i,然后使用oracle9i数据库中的数据库表sale制作模板jndi.cpt保存可以预览,如下图:
然后,回到定义数据库连接,新建一个JNDI方式的数据连接oracle9i,将jndi的名字命名为jdbc/oracle,删掉前面建的连接方式JDBC的oracle9i数据连接,确定保存。如下图:
此时的模板jndi.cpt是无法预览的,因为我们只定义了jndi的名字,没有建立jndi连接。
2. WEBSPHERE中的JNDI连接配置
接下来讲,如何在WEBSPHERE服务器中配置JNDI连接。
登录WEBSPHERE的管理平台,选择环境>Websphere变量>ORACLE_JDBC_DRIVER_PATH在值的位置上输入驱动程序所在的目录如:C:\WebReport\WEB-INF\lib\ojdbc14.jar(oracle的jdbc驱动程序的具体位置),如下图:
进入全局安全性>JAAS配置>J2C认证数据>新建输入别名,用户标识和密码,别名:oracle(可以随便起),用户标识(oracle用户名,^连接oracle数据库使用的用户名和密码):system,密码:dba,如下图:
选择资源>JDBC提供者>新建,步骤一:oracle,步骤二:Oracle jdbc driver,步骤三:连接池数据源,如下图:
点击下一步,将类路径改为${ORACLE_JDBC_DRIVER_PATH},其他不变,然后保存应用,如图:
保存完上述应用后,点击ORACLE JDBC DRIVER这个应用,在右上角可以看到“数据源”,点选。我们将配置数据源>新建,名称--oracle,JNDI名称--jdbc/oracle,组件管理的认证别名--frserver2003node1/oracle9i(为上一步全局安全性中的配置,根据自己起的名字来选择),URL里输入jdbc:oracle:thin:@192.168.100.111:1521:oracle9i(根据ORACLE数据库的位置调节),其他为默认值,保存。然后选择这个数据源,点击测试连接,最终结果如图:说明jndi数据源配置成功了。
3. WEBSPHERE中的Web应用部署
本步骤就是连接模板和jndi数据源的关键。
接下来,我们选择%FR_HOME%/WebReport/ WEB-INF文件夹下的web.xml(注:制作的报表jndi.cpt保存在%FR_HOME%/WebReport/ WEB-INF/reportlets/com/doc/jndi.cpt),用记事本类似的工具打开 web.xml,在其中添加一部分内容。
1. <resource-ref>
2. <description>Oracle DB connection</description>
3. <res-ref-name>jdbc/oracle</res-ref-name>
4. <res-type>javax.sql.DataSource</res-type>
5. <res-auth>Container</res-auth>
6. </resource-ref>
然后将WebReport这个文件夹打包WebReport.war。具体部署过程请参照FineReport文档中Websphere服务器的部署。其中有个步骤与文档中有区别,在映射资源引用到资源中需要选择jndi名字和使用缺省方法中选择认证方法,另需要填jndi名字。上文设定jndi名字为:jdbc/oracle,认证方法为:frserver2003node1/oracle9i,具体如图:
部署成功以后我们打开浏览器,填入URL:span class="paths"->http://localhost:9080/WebReport/ReportServer?reportlet=/com/doc/jndi.cpt
若出现下图所示画面,则说明配置成功。
帆软报表FineReport中数据连接之Websphere配置JNDI连接的更多相关文章
-
帆软报表FineReport中数据连接之Tomcat配置JNDI连接
1. 问题描述 在帆软报表FineReport中,通过JNDI方式定义数据连接,首先在Tomcat服务器配置好JNDI,然后在设计器中直接调用JNDI的名字,即可成功使用JNDI连接,连接步骤如下: ...
-
帆软报表FineReport中数据连接的JDBC连接池属性问题
连接池原理 在帆软报表FineReport中,连接池主要由三部分组成:连接池的建立.连接池中连接使用的治理.连接池的关闭.下面就着重讨论这三部分及连接池的配置问题. 1. 连接池原理 连接池技术的核心 ...
-
帆软报表FineReport中数据连接之Weblogic配置JNDI连接
1. 制作报表的原理 在帆软报表FineReport设计器中先用JDBC连接到数据库,建立数据库连接,然后用SQL或者其他方法创建数据集,使用数据集制作报表,然后把建立的数据库连接从JDBC连接改成J ...
-
帆软报表FineReport中数据连接之Jboss配置JNDI连接
使用sqlsever 2000数据库数据源来做实例讲解,帆软报表FineReport数据连接中Jboss配置JNDI大概的过程和WEBSPHERE以及WEBLOGIC基本相同,用JDBC连接数据库制作 ...
-
帆软报表FineReport SQLServer数据库连接失败常见解决方案
1. 问题描述 帆软报表FineReport客户端连接SQLServer(2000.2005等),常常会出现如下错误:com.microsoft.sqlserver.jdbc.SQLServerExc ...
-
帆软报表FineReport数据连接中游标问题解决方案汇总
1. 概念 在数据库中, 游标是一个十分重要的概念.游标是一种能从包括多条数据记录的结果集中,每次提取一条记录的机制. 用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,往往是一个含有多个记 ...
-
帆软报表FineReport数据库连接编码转换
1. 问题描述 数据库会以某种编码方式保存与读取数据,FineReport解析时默认使用GBK字符集,若数据库端编码与设计器端编码不一致时,就会导致中文及特殊字符的乱码. FineReport在定义数 ...
-
帆软报表(FineReport)实现跨数据源父子查询(2阶段查询)
问题描述: 在报表中需要查询多个系统多个数据源,且有一个数据源的入参是另一个数据源的返回值.所以当用户点击查询到展现报表数据这个过程中,需要先做父查询,查询出的结果在作为子查询. 实现方案: 方案一: ...
-
帆软报表(finereport)单元格中各颜色标识的含义
帆软报表(finereport)单元格中,可根据单元格角标的颜色判断单元格进行的操作 过滤:单元格左下角黄色三角形 条件属性:单元格左上角红色三角形. 控件:单元格右侧中间的各种矩形. 左父格:单 ...
随机推荐
-
JS继承之原型继承
许多OO语言都支持两种继承方式:接口继承和实现继承.接口继承只继承方法签名,而实现继承则继承实际的方法.如前所述,由于函数没有签名,在ECMAScript中无法实现接口继承.ECMAScript只支 ...
-
AVL树(三)之 Java的实现
概要 前面分别介绍了AVL树"C语言版本"和"C++版本",本章介绍AVL树的Java实现版本,它的算法与C语言和C++版本一样.内容包括:1. AVL树的介绍 ...
-
.map文件的作用以及在chorme下会报错找不到jquery-1.10.2.min.map文件,404 的原因
source map文件是js文件压缩后,文件的变量名替换对应.变量所在位置等元信息数据文件,一般这种文件和min.js主文件放在同一个目录下. 比如压缩后原变量是map,压缩后通过变量替换规则可能会 ...
-
paas-openshift
https://www.openshift.com/pricing/index.htmlOpenShift是红帽的云开发平台即服务(PaaS).*和开放源码的云计算平台使开发人员能够创建.测试和运行 ...
-
Spring使用@Scheduled定时调度
一.spring配置文件中增加对这个注解的支持: 配置文件如下: <?xml version="1.0" encoding="UTF-8"?> &l ...
-
Linux内核分析— —计算机是如何工作的(20135213林涵锦)
实验部分 (以下命令为实验楼64位Linux虚拟机环境下适用,32位Linux环境可能会稍有不同) 使用 gcc –S –o main.s main.c -m32 命令编译成汇编代码, int g(i ...
-
asp.net本地读取excel正确。但在iis服务器上就报错 未在本地计算机上注册“Microsoft.ACE.OleDb.12.0”提供程序
本地vs2010可以上传ecxel文件.并读取数据,但部署到本地IIS.并访问.则提示: 未在本地计算机上注册“Microsoft.ACE.OleDb.12.0”提供程序 首先:确保安装了Micros ...
-
DCL,即Double Check Lock,中卫双重检查锁定。
DCL,即Double Check Lock,中卫双重检查锁定. [Java并发编程]之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码) 关于单例.关于DCL: ...
-
类中的迭代器__iter__
什么是迭代器 有iter()函数返回,可以通过next(it)函数取值的对象就是迭代器 迭代器协议 迭代器协议是指对象能够使用next函数获取下一项数据,在没有下一项数据时触发一个StopIterat ...
-
PCL 编译中遇到 error C4996: &#39;pcl::SAC_SAMPLE_SIZE&#39;
1. error C4996: 'pcl::SAC_SAMPLE_SIZE': This map is deprecated and is kept only to prevent breaking ...