如何在Oracle10gXE上的PL / SQL中包含.js文件

时间:2011-05-16 16:40:54

标签: javascript oracle plsql httpd.conf

一次。我正在制作一个PL / SQL生成的HTML5网页。它正在运行Oracle 10g XE服务器。好的,现在当设置清楚时,我的问题 - 我需要在页面中包含一个Java Script文件。简单地

    HTP.P('<script type="text/javascript" src="js/ScriptFileName.js"></script>');

当然不起作用。所以我创建了一个文件夹对象并授予了读,写给PUBLIC。然后更改字符串以匹配新创建的对象,而不是路径。仍然无法正常工作。我知道,我可以写

    HTP.P(<script type="text/javascript"> MY JAVA SCRIPT HERE</script>); 

我已经用其他脚本完成了(甚至不得不用这种方式编写CSS)。但这一次这不起作用。原因是 - 我正在尝试运行的JavaScript被规范化(或者说非标准化),所以它写在一行中。而且还有很多。我试图将它逆转到正常状态,但很多时候都会失败。

所以,我上网搜索了一个解决方案。找到一个。似乎这包括应该不是页面,而是服务器配置。有道理,因为PL / SQL是服务器端的。但是当我去寻找通常的httpd.conf时,它在数据库目录中找不到。所以我再次上网,结果 - 不是在任何ORACLE手册中,10gXE中的HTTP服务器配置的地方的词。搜索了一些论坛 - 正好有1人询问XE中httpd.conf的位置,并没有得到答案。请帮忙。我很绝望。

P.S。我不使用APEX。我不明白那个笨蛋。所以我在记事本中编写并在SQL行中运行脚本。

1 个答案:

答案 0 :(得分:1)

首先,XE有自己的内置HTTP服务器,称为“嵌入式PL / SQL网关”或EPG。但你不必使用它。您可以将Oracle HTTP Server与mod_plsql插件一起使用。或者你可以使用Apex监听器。

问题是什么服务器是“ScriptFileName.js”?

  1. 它是数据库服务器上的平面文件吗?如果是这样,您将需要使用Oracle HTTP Server(或Apache或类似服务器)来提供服务。数据库几乎不知道其服务器上的文件,EPG无法提供它们。 [至少在任何实际意义上,你都可以用鸡内脏和UTL_FILE做奇怪的事情,但你不想去那里。]

  2. 它是存储在数据库中的文件吗?这听起来很奇特,但几乎所有的CSS,图像等都是通过EPG提供的。有关如何将文件输入和输出的最佳解释是Dietmar

  3. 这是一个存储在单独机器上的文件吗?通常是最好的答案。最终用户浏览器将读取“src =”指令。那将是一个HTTP到达URL。它不必是与页面其余部分相同的域/主机上的URL。