一次。我正在制作一个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行中运行脚本。
答案 0 :(得分:1)
首先,XE有自己的内置HTTP服务器,称为“嵌入式PL / SQL网关”或EPG。但你不必使用它。您可以将Oracle HTTP Server与mod_plsql插件一起使用。或者你可以使用Apex监听器。
问题是什么服务器是“ScriptFileName.js”?
它是数据库服务器上的平面文件吗?如果是这样,您将需要使用Oracle HTTP Server(或Apache或类似服务器)来提供服务。数据库几乎不知道其服务器上的文件,EPG无法提供它们。 [至少在任何实际意义上,你都可以用鸡内脏和UTL_FILE做奇怪的事情,但你不想去那里。]
它是存储在数据库中的文件吗?这听起来很奇特,但几乎所有的CSS,图像等都是通过EPG提供的。有关如何将文件输入和输出的最佳解释是Dietmar
这是一个存储在单独机器上的文件吗?通常是最好的答案。最终用户浏览器将读取“src =”指令。那将是一个HTTP到达URL。它不必是与页面其余部分相同的域/主机上的URL。