润乾报表在 OC4J 服务器下的部署方法

 

润乾报表4
OC4J 是 Oracle 公司提供的作为 J2EE 的服务器,通常情况下,在安装 Oracle 数据库的时候,会自带 OC4J 服务器,在与 Oracle 数据库集成和部署上,具有得天独厚的优势。

本文介绍润乾报表在 OC4J 服务器上的部署方法:

这里以 Oracle10g 自带的 oc4j 服务器为例,假设安装在 D:\oracle\product\10.2.0\db_1 目录下,文件夹名称为 oc4j,接下来所说目录都是相对于 D:\oracle\product\10.2.0\db_1\oc4j 目录。

第一步:配置数据源

进到 j2ee\home\config 文件夹下,打开 data-sources.xml 文件,可以看到里边有标签。里边配置信息即数据源的配置,这里的数据源名称按照这里边的默认即可,更改下连接数据库的 url 及数据库用户名和密码,更改后的文件内容如下:

<?xml version=”1.0″ standalone=’yes’?>  
< !DOCTYPE data-sources PUBLIC “Orion data-sources” “http://xmlns.oracle.com/ias/dtds/data-sources-9_04.dtd”>  
< data-sources>  
< data-source  
class=”com.evermind.sql.DriverManagerDataSource”  
name=”OracleDS”  
location=”jdbc/OracleCoreDS”  
xa-location=”jdbc/xa/OracleXADS”  
ejb-location=”jdbc/OracleDS”  
connection-driver=”oracle.jdbc.driver.OracleDriver”  
username=”system”  
password=”rain”  
url=”jdbc:oracle:thin:@localhost:1521:rain”  
inactivity-timeout=”30″  
/>  
< /data-sources>

需要注意的是:location=”jdbc/OracleCoreDS”,这个是数据源名称,稍后还会用到,然后保存该文件,这样数据源配置完成。

第二步: 制作报表应用

发布应用的时候可以把应用打成 war 包形式,需要注意打 war 包之前要修改 reportConfig.xml 中授权配置以及其他相对路径属性的配置,因为在 war 包生成以后,相对路径会发生变化。接下来看下数据源的配置,找到 JNDIPrefix 标签,把 value 值清空(注意:tomcat 下默认是 java:comp/env),然后更改 datasource 的值,改成jdbc/OracleCoreDS,ORACLE,GBK,1,注意第一个数据源名称也就是前边提到的配置文件中的 location 的值。
配置文件修改后就可以把应用打成 war 包形式,cd 到应用目录下 用 jar -cvf report.war *.* 命令,即可看到在应用目录下多了个 report.war, 把 report.war 拷贝到 D:\oracle\product\10.2.0\db_1\oc4j\j2ee\home\applications 下也就是 oc4j 的应用根目录,这样这个 war 包会自动解压成文件夹形式。

第三步: 发布应用

首先,告诉容器 WAR 文件被发布到哪里。用编辑器打开 j2ee、home/config/application.xml 文件,增加标签,定义 WAR 文件属性。 这里指向的是刚才的 report.war。

其次,告诉 OC4J HTTP 服务器关于如何通过 URL 来访问部署的 WAR 文件。用编辑器打开 j2ee/home/config/http-web-site.xml 文件。添加标签,并为你的 Web 程序定义属性。请注意,application 属性必须定义为”default”,是因为发布的是默认应用程序。name 属性应该匹配你的 Web 程序所定义的 ID 属性。

<web-app application=”default” name=”report” root=”/report”/>

WAR 文件被 OC4J 发布,并可通过浏览器来访问 /report 目录。

第四步:启动 oc4j 服务器访问报表

运行中 cd 到 D:\oracle\product\10.2.0\db_1\oc4j\j2ee\home 执行命令 java -jar oc4j.jar 即可启动服务器,然后在 IE 上 访问http://localhost:8888/report/index.jsp,默认端口是 8888,要确保该端口没被其他程序占用,否则启动有问题。