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