Oracle 11g表单运行失败求助:FRM-10142错误及监听器异常
解决Oracle 11g Forms FRM-10142错误的实操方案
兄弟,我之前踩过这个一模一样的坑,FRM-10142这个错误很容易让人搞混监听对象——你用lsnrctl start查的是数据库TNS监听器,但Forms运行依赖的是Oracle HTTP Server(OHS)的HTTP监听,这俩完全不是一回事!给你几个一步步排查的方向:
先确认OHS服务是否真的在运行
打开Windows服务(按下Win+R输入services.msc回车),找到名称类似OracleOHS11g或者OracleHTTPServer的服务,查看状态是否为「正在运行」:- 如果没运行,右键点击「启动」即可;
- 也可以直接在浏览器访问
http://localhost:7001/forms/frmservlet,如果无法打开页面,说明OHS确实没启动。
如果OHS启动失败,排查端口冲突
7001端口可能被其他程序占用了,执行以下命令查看占用进程:netstat -ano | findstr :7001找到对应的PID后,打开任务管理器结束该进程,再重新启动OHS;或者修改OHS的监听端口(在
ORACLE_HOME\ohs\conf\httpd.conf里修改Listen配置项)。检查Forms Builder的运行时首选项
打开Forms Builder,依次点击菜单Edit > Preferences > Runtime,确认「Web Browser URL」配置正确:- 正确格式应该是
http://Mohamed-PC:7001/forms/frmservlet,仔细核对主机名(Mohamed-PC)和端口(7001); - 如果主机名解析有问题,可以试试换成
localhost或者你的本机IP地址再测试。
- 正确格式应该是
关于你遇到的TNS-01106错误
这个提示只是说数据库的TNS监听器已经在运行了,和Forms的FRM-10142错误完全无关,不用在意这个返回信息。
内容的提问来源于stack exchange,提问作者Mido Saeed
相关产品推荐
相关产品推荐

