1 前言
获取FMB所有的代码(触发器和程序单元),以方便检查编码人员是否在代码中存放一些危险(有意或无意)的代码。如:获取数据库连接串Get_application_property(xxx,Connect_Sting)等。
对于编码人员来说,这一需求并不重要,但对于软件开发主管而言,避免代码的危险性则是系统健壮性必须考虑的要点之一。
当然,检查危险代码可以由手工打开各个FMB,再利用FORM BUILDER的查找功能也可以实现,本文的讨论的自动获取FMB所有程序代码的方法主要是为自动检查危险代码提供前期的技术支持。
本技术笔记使用Oracle网站提供的ShowTriggers.Java程度包是提供实现获取FMB代码的方法,文中没有涉及编程技巧,仅对使用该程序包的相关配置注重事项进行说明。
2 实现
2.1 环境配置
2.1.1 在我的电脑->属性->高级->环境变量中,确认以下几个变量已配置:
PATH:=%Oracle_Home%\jdk\bin --主要用于调用JAVA程序
CLASSPATH:=%Oracle_Home%\Forms90\Java\f90jdapi.jar;%Oracle_Home%\jlib;X:\YourJavaPath --假如第一个路径没有配置,则在编译JAVA包时显示出错信息
2.1.2 确认%Oracle_Home%\Form90\Server\Default.env文件
CLASSPATH:=X:\YourJavaPath....
2.2 编译JAVA包
2.2.1 进入DOS窗口
2.2.2 将当前目录切换到ShowTriggers所在目录
2.2.3 执行Javac ShowTriggers.java --注重大小写
注:由于每台电脑的LANGUAGE设置可能不同,所以在执行ShowTriggers的电脑上,重新编译该程序包
2.3 执行JAVA包
2.3.1 执行Java ShowTriggers X:\YourFmbFile --注重大小写
此时,屏幕上会显示YourFmbFile内所有的代码,假如要将显示的代码保存在文件中,则使用Java ShowTriggers X:\YourFmbFile >X:\YourFmbFileCode.Txt