Developer10g
或
Oracle AS 10g
配置中的问题
前端时间研究Oracle Developer 10g 的开发及web发布问题, 其中涉及到开发端上Developer 10g和web应用服务器上Oracle AS 10g的配置,如果配置不当,将造成客户显示端不能按预期要求显示。期间,碰到许多问题,通过不断摸索、网上请教和Oracle的文档,解决了自己的各种问题,现将遇到的问题和解决办法总结如下:
1. 在没有oracle 10g AS的情况下,如果使用开发环境运行form,必须启动OC4J Instance服务;
2. 浏览器中form的显示设置文件是<developer10g安装目录>/forms/server/formweb.cfg,可以设置浏览器中form的各种显示属性(包括高、宽);
3. 在开发状态下,应该将form属性的”控制台窗口”设置为空,否则在浏览器中form下面将显示状态栏;
4. formweb.cfg中,logo参数设置是否(true/false)在右上角显示logo标志,同时,应该确保basejini.html中包含<PARAM NAME="logo" VALUE="%logo%">和logo="%logo%"两行;
5. splashscreen参数设置是否(true/false)显示oracle欢迎画面,separateFrame参数设置是否(false/true)启动一个新的applet窗口来运行form程序。这些参数必须位于“# Forms applet parameter: URL path to Forms ListenerServlet”小节内;
6. 取消Web发布时上方的横条,需要在formweb.cfg中添加“otherparams=useSDI=yes”参数行;
7. Form嵌入在页面中运行时,在formweb.cfg中设置pageTitle可以更改IE上方标题栏的标题,但不支持中文;
8. 当设置separateFrame=true使form以独立窗口运行时,父窗口上方标题栏的标题需要在form的when_new_form_instance触发器中通过SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW, TITLE, '标题')来更改,只需在启动form中添加该语句即可;
9. 默认情况下form应用程序必须存放在“developer10g安装目录(或10g AS安装目录)/forms”目录下,如果要把form应用程序存放到自己指定的目录,并通过web正常运行该目录下的应用程序,必须做相应的修改。可以通过两种方法在应用服务器上指定自己的应用程序存放目录:设置formweb.cfg中的envFile参数或者修改注册表的Forms_Path项。
(
1
)设置formweb.cfg
中的envFile
参数:默认情况下参数envFile被设置为default.env,可以将其设置为自定义的环境配置文件(env文件),同时必须修改default.env文件或自定义的env文件内forms_path参数,将应用程序的存放目录添加到forms_path中,使用半角分号(;)分隔各个目录。如果不如此修改,就必须在call_form中明确指定绝对路径来调用其它form,否则程序无法继续运行。
(
2
)修改注册表的Forms_Path
参数:使用此方法的前提是formweb.cfg中没有envFile参数,如果有envFile参数,需要先删除。在HKey_Local_Machine/Software/Oracle/<oracle Devloper 10g或 10g AS项>中,将应用程序存放目录添加到FORMS_PATH参数中。当formweb.cfg中存在envFile参数时,运行环境只按照env文件中forms_path参数指定的目录查找form程序,而注册表中的FORMS_PATH参数不起作用。
注:
1) 上面涉及到formweb.cfg中参数设置的内容都是在使用[default]节,也就是缺省配置,的情况下进行的,如果form运行时指定使用自定义的小节参数设置,则需要在自定义的小节内配置上述参数。
2) 上述参数在设置后,如果不能看到预期的效果,可能是参数在formweb.cfg中的位置不对,通过上移或下移其所在位置来反复测试几次。
3) 上述配置中绝大多数是在Oracle Developer 10g安装环境下进行的,在Oracle AS 10g中文件目录或注册表项可能有所不同,但配置文件名称和参数名称都是完全相同的。