帆软报表FineReport中数据连接之Websphere配置JNDI连接
以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)单元格中,可根据单元格角标的颜色判断单元格进行的操作 过滤:单元格左下角黄色三角形 条件属性:单元格左上角红色三角形. 控件:单元格右侧中间的各种矩形. 左父格:单 ...
随机推荐
- C#开发微信门户及应用(42)--使用Autofac实现微信接口处理的控制反转处理
在很多情况下,我们利用IOC控制反转可以很方便实现一些接口的适配处理,可以在需要的时候切换不同的接口实现,使用这种方式在调用的时候,只需要知道相应的接口接口,具体调用哪个实现类,可以在配置文件中动态指 ...
- httpModules与Http模块
httpModules是往当前应用程序添加HttpModule(http模块)的标签.配置节如下 <httpModules> <add name="ModuleName&q ...
- WCF入门教程(二)如何创建WCF服务
WCF入门教程(二)从零做起-创建WCF服务 通过最基本的操作看到最简单的WCF如何实现的.这是VS的SDK默认创建的样本 1.创建WCF服务库 2.看其生成结构 1)IService1.cs(协议) ...
- IM聊天系统
先上图片: c# 客户端,openfire服务端,基于java开源推送服务开发的及时聊天系统.大概功能有,单点消息支持文本/图片/截图/音频/视频发送直接播放/视频聊天/大文件传输/动态自定义表情等. ...
- 【C#进阶系列】25 线程基础
线程的概念 线程的职责是对CPU进行虚拟化. CPU为每个进程都提供了该进程专用的线程(功能相当于cpu),应用程序如果进入死循环,那么所处的进程会"冻结",但其他进程不会冻结,它 ...
- FTP工具类开发
正所谓工欲善其事必先利其器,熟悉了下一套流程,以此铭记. 1.FTP服务搭建 由于本人使用wondiow系统,所以针对window的童鞋们可以查看.至于windowX这里配置类似,所以不要纠结于win ...
- 转载:《TypeScript 中文入门教程》 17、注解
版权 文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本. 介绍 随着TypeScript和ES6里引入了类,现在在一些场景下我们会需要额外的特性 ...
- 关于Java语言和面向对象记录
本科时常用的c语言是面向过程的语言,而Java是面向对象的语言 Java语言的11个关键术语 简单性.可移植性.面向对象.分布式.高性能.解释型.健壮性.多线程.安全性.动态性.体系结构中立 面向对象 ...
- Cats(2)- Free语法组合,Coproduct-ADT composition
上篇我们介绍了Free类型可以作为一种嵌入式编程语言DSL在函数式编程中对某种特定功能需求进行描述.一个完整的应用可能会涉及多样的关联功能,但如果我们为每个应用都设计一套DSL的话,那么在我们的函数式 ...
- PHP工作笔记:数组转字符串与字符串转数组
一个数组要入库,发现不可以,特定用函数转为字符串入库 $data = array( 'http://img4.bitautoimg.com/autoalbum/files/20110420/734/2 ...