我正在使用PL / SQL中的htp包的项目。例如,如果我运行此程序,网页将出现在哪里?如何查看生成的页面?
CREATE OR REPLACE PROCEDURE hello AS
BEGIN
HTP.HTMLOPEN; -- generates <HTML>
HTP.HEADOPEN; -- generates <HEAD>
HTP.TITLE('Hello'); -- generates <TITLE>Hello</TITLE>
HTP.HEADCLOSE; -- generates </HEAD>
HTP.BODYOPEN; -- generates <BODY>
HTP.HEADER(1, 'Hello'); -- generates <H1>Hello</H1>
HTP.BODYCLOSE; -- generates </BODY>
HTP.HTMLCLOSE; -- generates </HTML>
END;
如果我跑:
exec owa_util.showpage;
我收到以下错误:
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SYS.OWA_UTIL", line 356
ORA-06512: at "SYS.HTP", line 665
ORA-06512: at "SYS.HTP", line 759
ORA-06512: at "SYS.HTP", line 1115
ORA-06512: at "SYS.OWA_UTIL", line 347
ORA-06512: at line 1
答案 0 :(得分:2)
我不知道你是否从sqlplus运行。您需要进行一些初始化。试试这个:
set serveroutput on
DECLARE
param_val owa.vc_arr;
BEGIN
param_val (1) := 1;
owa.init_cgi_env (param_val);
HTP.HTMLOPEN; -- generates <HTML>
HTP.HEADOPEN; -- generates <HEAD>
HTP.TITLE('Hello'); -- generates <TITLE>Hello</TITLE>
HTP.HEADCLOSE; -- generates </HEAD>
HTP.BODYOPEN; -- generates <BODY>
HTP.HEADER(1, 'Hello'); -- generates <H1>Hello</H1>
HTP.BODYCLOSE; -- generates </BODY>
HTP.HTMLCLOSE; -- generates </HTML>
htp.showpage ();
END;
/
此输出的结果:
<HTML>
<HEAD>
<TITLE>Hello</TITLE>
</HEAD>
<BODY>
<H1>Hello</H1>
</BODY>
</HTML>
有关详细信息,请参阅Oracle论坛中的link。