报表知识库
我要提问

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

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文件,可以看到里边有<data-source/>标签。里边配置信息即数据源的配置,这里的数据源名称按照这里边的默认即可,更改下连接数据库的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的值,改成<value>jdbc/OracleCoreDS,ORACLE,GBK,1</value>,注意第一个数据源名称也就是前边提到的配置文件中的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文件,增加<web-module>标签,定义WAR文件属性。 <web-module id=”report” path=”../../home/applications/report.war”/>这里指向的是刚才的report.war。

其次,告诉OC4J HTTP服务器关于如何通过URL来访问部署的WAR文件。用编辑器打开j2ee/home/config/http-web-site.xml文件。添加<web-app>标签,并为你的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,要确保该端口没被其他程序占用,否则启动有问题。