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,在其中添加一部分内容,如下图:
- <resource-ref>
- <description>Oracle 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>
然后将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