2
CREATE OR replace PROCEDURE Hello_world2
IS
BEGIN
    HTP.htmlopen;
    HTP.headopen;
    HTP.Title ('You knew it was coming...');
    HTP.headclose;
    HTP.comment ('This phrase is in every computer book.');
    HTP.Bodyopen (cattributes => 'body bgcolor=blue');
    HTP.Print ('And here it is .... Hello, World!');
    HTP.bodyclose;
    HTP.htmlclose;
END; 

如何将其输出到 HTML 文件?我试过如下所示:

spool report.htm
exec hello_world2;
spool off
exit

但我收到如下所示的错误:

    ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SYS.OWA_UTIL", line 356
    ORA-06512: at "SYS.HTP", line 1368
    ORA-06512: at "SYS.HTP", line 1443
    ORA-06512: at "SYS.HTP", line 1735
    ORA-06512: at "SYS.HTP", line 72
    ORA-06512: at "T416493.HELLO_WORLD2", line 4
    ORA-06512: at line 1

谁能帮我这个

4

5 回答 5

4

通常,您会调用owa_util.showpage以将内容输出。Dan 对Oracle OWA_UTIL的用法有一个很好的概述, 这很有趣,它应该从 sqlplus 运行,但我认为它需要使用 web 浏览器从 mod_plsql 调用。

如果你真的只想生成静态网页,你也可以使用普通的旧 dbms_output 来做到这一点。否则,看看Oracle Apex可能会更聪明,甚至可能是 Oracle Apex的一个非常好的和有能力的替代品 Formspider

于 2012-08-07T09:02:18.197 回答
1

ORA-06512:在“SYS.OWA_UTIL”,第 356 行

你试过看看那里有什么吗?:-) 那行有 for i in 1..owa.num_cgi_vars 所以你试图在非 cgi 环境中运行 cgi-aware 代码。owa.num_cgi_vars 变量为 NULL。

begin for i in 1..null loop null; 结束循环;结尾;

会给你同样的 ORA-06512。

于 2012-12-17T01:12:48.870 回答
0

我有同样的问题。我插入了另一个爸爸资料,它就像一个魅力:) 不知何故,旧的爸爸资料已经烂了。

-- 作为 xdbadmin 或 sys (mpl_user 当然是包所在的模式): exec dbms_epg.create_dad('new_dad', '/my_db/*'); exec dbms_epg.set_dad_attribute('new_dad', '数据库用户名', 'UUSSEERR'); -- 大写的用户名授权在 dbms_epg 上执行给 uusseerr;

-- 作为用户 (uusseerr): exec dbms_epg.authorize_dad('new_dad');

于 2014-01-23T20:30:27.097 回答
0

您需要使用 owa.init_cgi_env 初始化 CGI

请参阅http://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:347617533333

它对我有用,其他一切都失败了。

于 2013-01-16T16:37:08.500 回答
0

下面的代码将打印使用存储过程形成的 html 页面。

    set serveroutput on;
    declare
        vNames  owa.vc_arr;
        vValues owa.vc_arr;
    begin
        htp.init;
        vNames(1) := 'REQUEST_PROTOCOL';
        vValues(1)  := 'HTTP';

        owa.init_cgi_env(
        num_params => 1,
        param_name => vNames,
        param_val  => vValues );

        test_package.proc_call; --procedure where html pages are formed using htp.p
        owa_util.showpage;
    end;
    /
于 2019-09-09T13:00:12.313 回答