我应该在哪里查找使用htp包生成的文档

时间:2013-04-16 19:56:53

标签: sql database plsql oracle11g

我正在使用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

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