用Oracle的SQL*Plus工具创建HTML页面
作者:Fenng
Oracle的SQL*Plus工具有一些比较有趣的选项,合理的使用,能够给我们意想不到的后果。其中有一个”-M”选项能够创建用来创建HTML报表,在实际应用中很有用处。我们先来看看SQL*Plus(Oracle 8i)的一些选项:
C:\>SQLPLUS -
用法: SQLPLUS [ [<option>] [<logon>] [<start>] ]
其中 <option> ::= - | -? | [ [-M <o>] [-R <n>] [-S] ]
<登录> ::= <用户名>[/<口令>][@<connect_string>] | / | /NOLOG
<启动> : : = @<文件名>[.<ext>] [<参数> ...]
"-"显示使用语法
"-?"显示 SQL*Plus 版本标帜
"-M <o>" 使用 HTML 标志选项 <o>
"-R <n>" uses restricted mode <n>
"-S" uses silent mode
”-M”选项指定在输出的时侯使用HTML标记来输出数据,用以代替普通的文本。
其中”-M”选项的语法如下:
[-M[ARKUP] "HTML [ON|OFF] [HEAD text] [BODY text]
[ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]"
如果我们在实际应用中,要对公司的某个Table进行每个月的报表HTML化,用SQL*Plus的这个特性很容易做到。
举例如下:
我们准备对Scott模式下的DEPT表进行处理。DEPT表内容:
SQL> SELECT * FROM dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
在系统命令行下输出HTML文件:
将下面几行语句存到一个.sql脚本中(比如说q.sql):
SET ECHO OFF
SET FEEDBACK OFF
SELECT * FROM dept;
SET ECHO ON
SET FEEDBACK ON
exit
然后在命令行下调用如下命令:
C:\> sqlplus -s -m "HTML ON HEAD DEPT表格之内容" Scott/tiger @c:\q.sql>Dept.html
对这条命令简单的解释一下:其中”-s”表示silent模式,”-m”表示启用HTML Markup选项,”HEAD DEPT表格之内容”可以用来定制一个简单的标题。然后命令中跟的是数据库用户名字和密码,执行脚本,重定向到Dept.html中。
输出Dept.html有如下内容(空白处已经截去):
在SQL*Plus下输出文件
在SQL*Plus中可以用SET MARKUP命令来做到。
SET MARKUP
用法: SET MARKUP HTML [ON|OFF] [HEAD text] [BODY text]
[ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]
把下面的内存存为一个.sql脚本(比如说C:\q.sql):
SET ECHO OFF SET FEEDBACK OFF SET MARKUP HTML ON SPOOL ON SPOOL c:\Dept.html SELECT * FROM dept; SPOOL OFF SET MARKUP HTML OFF
SET ECHO ON
SET FEEDBACK ON
在SQL*Plus中调用,即可创建内容在C:中创建了名为Dept.html的HTML页面,如下图所示:
附:HTML页面输出样例源文件内容
<html>
<head>
DEPT表格之内容
<meta name="generator" content="SQL*Plus 8.1.7">
</head>
<body>
<p>
<table border= [1] [2] 下一页 [Access]sql随机抽取记录 [Access]ASP&SQL让select查询结果随机排序的实现方法 [Web开发]IIS下下伪静态html(URL Rewrite)设置方法 [网页制作]什么是XHTML、为什么要使用XHTML [Web开发]XML与HTML在语法上的主要区别详解 [聊天工具]Messenger Plus!新功能体验__天极Yesky [聊天工具]用Messenger Plus?就选3.0版__天极Yesky [系统软件]SQL语句性能优化--LECCO SQL Expert [常用软件]网页版权保护专家 HTML Guard [常用软件]中文的BitTorrent S-5.8.7 Plus!__天极Yesky
|