基于Oracle Forms Builder 海洋地形信息系统设计与实现(二)

安装Oracle Forms Builder 10g 并配置WebUtil

       从Oracle官网下载Forms Builder 10g,并安装配置。这个比较简单,笔者不愿着墨,主要想对WebUtil的安装配置和使用进行详细说明。

 一、配置WebUtil

1.下载WebUtilhttp://www.oracle.com/technology/software/products/forms/files/webutil/webutil_106.zip
2. 下载 Java Com Library http://prdownloads.sourceforge.net/jacob-project/jacob_18.zip
3. 释放上述压缩文件.
4. 拷贝文件
  文件 frmwebutil.jar
  从webutil_106\webutil_106\java  拷入 $ORACLE_HOME/forms/java
  文件 jacob.jar 
  从 jacob_18  拷入$ORACLE_HOME/forms/java
  文件d2kwut60.dll, JNIsharedstubs.dll
  从 webutil_106\webutil_106\webutil 拷入 $ORACLE_HOME/forms/webutil
  文件 jacob.dll
 从 jacob_18 拷入$ORACLE_HOME/forms/webutil
  文件forms_base_ie.js, forms_ie.js
 从webutil_106\webutil_106\java 拷入 $ORACLE_HOME/forms/java
 文件 webutil.olb, webutil.pll andcreate_webutil_db.sql
 从 webutil_106\webutil_106 拷入 $ORACLE_HOME/forms
 文件 webutilbase.htm, webutiljini.htm,webutiljpi.htm and webutil.cfg
 从webutil_106\webutil_106\server 拷入 $ORACLE_HOME/forms/server
 文件sign_webutil.bat
 从webutil_106\webutil_106\webutil 拷入 $ORACLE_HOME/forms/webutil
5. 在 $ORACLE_HOME/forms/server/formsweb.cfg 文件中
   修改如下项目

# Formsapplet archive setting for JInitiator
archive_jini=frmall_jinit.jar,frmwebutil.jar,jacob.jar 

if youuse JRE plugin then this line also required
archive=frmall_jinit.jar,frmwebutil.jar,jacob.jar 

[webutil]
WebUtilArchive=/forms/java/frmwebutil.jar,/forms/java/jacob.jar

 6. 在 $ORACLE_HOME/forms/server/default.env 文件修改如下入口

        FORMS_PATH=C:\YourOracle_Home\forms;C:\YourOracle_home\forms\webutil

  #webutil config file path
  WEBUTIL_CONFIG=C:\YourOracle_Home\forms\server\webutil.cfg

         增加 frmwebutil.jar, jacob.jar 到ClassPath

CLASSPATH=C:\YourOracle_Home\forms\java\frmwebutil.jar;C:\YourOracle_Home\forms\java\jacob.jar

 7. 增加 frmwebutil.jar and Jacob.jar 到Windows的注册表 (开始菜单>运行> 输入 regedit ) 进入 HKEY_LOCAL_MACHINE > SOFTWARE > ORACLE >DEVSUITE_HOME > FORMS_BUILDER_CLASSPATH Variable.
8. 关闭Form Builder,运行下面的命令注册 WebutilJAR files

C:\DevSuiteHome_1\forms\webutil>sign_webutil.batc:\DevSuiteHome_1\forms\java\frmwebutil.jar
C:\DevSuiteHome_1\forms\webutil>sign_webutil.batc:\DevSuiteHome_1\forms\java\jacob.jar

9. 配置数据库HYDXDB
 (1). 用seabeam连接数据库
(2) 用sqlplus运行脚本文件 $ORACLE_HOME/forms/create_webutil_db.sql 
10. 重新编译WebUtil库
(1)用seabeam打开Form Buillder ,在PL/SQL 库打开 Webutil.pll 文件
(2)菜单文件 > 另存为重命名该文件 例如WebUtil_lib
(3)编译新的 PLL 文件
(4)附加Webutil_lib.pll 到表单,并删除路径
(5) 在Object group 增加WebUtil.olb ,子类化(subclass)到 表单.
(6)编译表单并运行
11.参考WebUtil的使用手册

   http://www.oracle.com/technology/products/forms/htdocs/webutil/web_util.pdf

12.通过WebUtil使用手册配置需要注意的问题

(1)Webutil.olb

D:\DevSuiteHome_1\forms\webutil\sign_webutil.bat  frmwebutil.jar

D:\DevSuiteHome_1\forms\webutil\ sign_jacob.bat Jacob.jar

Jarsigner.exe 必须在环境变量path里

因为在bat有这样一段话:

REM   NOTES

REM      This script uses keytool and jarsigner utilities, which usually comes

REM      along with JDK in its bin directory. These two utilities must be 

REM      available in the PATH for this script to work. Otherwise, signing

REM      will fail even though the script may show a successful signing.

如果sign没有成功,webutil不能被subclass to form

(2)Forms _Builder _CLASSPATH(Windows注册表中)

如果没有增加jacob.jar就会出现webutil窗口缺少oracle.forms.webutil.ole.olefunctions

因为package oracle.forms.webutil.ole;

import com.jacob.activeX.ActiveXComponent; ///////缺少jacob.jar,虽然jacob.jar写入了default.env的class path

import com.jacob.com.ComException;

import com.jacob.com.ComFailException;

import com.jacob.com.Dispatch;

import com.jacob.com.JacobObject;

import com.jacob.com.Variant;

import java.util.Vector;

import oracle.forms.properties.ID;

import oracle.forms.webutil.common.VBeanCommon;


你可能感兴趣的:(form,builder,webutil)