安装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;