1.描述​​编辑​

 

 

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

 

2.具体步骤​​编辑​

 

 

使用版本及环境

下面以Windows Server 2008,WebSphere 8.5.5.10,jdk 1.8,连接oracle 11c数据库进行JNDI连接说明,其他版本数据库步骤基本相同。

2.1 WebSphere中的JNDI连接配置

 

接下来讲,如何在WEBSPHERE服务器中配置JNDI连接。

(1)配置WebSphere中的oracle相关的变量

登录WAS的管理平台,选择环境>WebSphere变量,选择应用服务器,点击ORACLE_JDBC_DRIVER_PATH,如下图:


 

在值的位置上输入驱动程序所在的目录如:E:\WebReport\WEB-INF\lib(oracle的jdbc驱动程序的具体位置),点击应用,如下图:


点击保存,设置生效,如下图:


 

(2)创建新建J2C认证别名

点击安全性>全局安全性,在右侧面板点击Java认证和授权服务>J2C认证数据,如下图:

 

点击新建,如下图:


 

输入相关信息,别名可以任意输入,用户标识和密码是指连接数据库用的用户名和密码,点击应用,如下图:


点击保存,设置生效,如下图:


 

(3)新建JDBC数据源

选择资源>JDBC>数据源,选择应用服务器,点击新建,如下图:


 

输入基本数据源信息,JNDI名称要记住,在配置应用里数据库连接的时候会用到它,然后点击下一步,如下图::


 

选择创建新的JDBC连接,然后点击下一步,如下图:


 

选择数据库类型->选择提供程序类型->选择实施类型,然后点击下一步,如下图:


 

将类路径改为${ORACLE_JDBC_DRIVER_PATH},其他不变,点击下一步,如下图:


 输入URL,URL中每个冒号前后不能有空格,这里示例为jdbc:oracle:thin:@192.168.5.57:1521:fr,点击下一步,如下图:


 选择刚刚创建的认证别名,点击下一步,如下图:




点击完成,如下图:


 

点击保存,设置生效,如下图:

 

然后选择这个数据源,点击测试连接,最终结果如图:说明JNDI数据源配置成功了,如下图:

服务器端的数据源配置好了,就能通过“jdbc/TestDB”这个桥梁(JNDI名字)与oracle数据库连接。

2.2 修改报表工程下web.xml配置文件

接下来我们选择%FR_HOME%/WebReport/Web-INF文件夹下的web.xml,在其中添加一部分内容,如下图:

 

 

  1. <resource-ref>
  2. <description>Oracle DB connection</description>
  3. <res-ref-name>jdbc/TestDB</res-ref-name>
  4. <res-type>javax.sql.DataSource</res-type>
  5. <res-auth>Container</res-auth>
  6. </resource-ref>

然后将WebReport工程部署到WebSphere服务器上,具体部署过程请参照​​Websphere8.5部署​

其中有两个步骤与文档中有区别

(1)在部署工程的时候,需要勾选生成缺省绑定,如下图:


 

(2)到步骤6:将资源引用映射至资源,修改资源认证方法>使用缺省方法中选择认证方法,另需要填jndi名字。

上文设定jndi名字为:jdbc/TestDB,认证方法为:WIN-O9584D1PVIINode01/oracle,具体如下图:



 

2.3 设计器连接JNDI

切换到WebSphere刚刚部署的工程,如何切换请查看​​远程设计​​,新建JNDI数据连接,如下图:



 

WebSphere服务器报表连接JNDI只需要输入JNDI的名字即可连接成功,如果连接不成功,INITIAL_CONTEXT_FACTORY里选择一下com.ibm.websphere.naming.WsnInitialContextFactory