动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   数据库 → 阅读文章

 用Oracle的SQL*Plus工具创建HTML页面

作者来源: 
阅读 数 578 人次 , 2006-5-11 14:46:00 


  
用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" width="90%">

<tr>

<th>

DEPTNO

</th>

<th>

DNAME

</th>

<th>

LOC

</th>

</tr>

<tr>

<td align="right">

    10

</td>

<td>

ACCOUNTING

</td>

<td>

NEW YORK

</td>

</tr>

<tr>

<td align="right">

    20

</td>

<td>

RESEARCH

</td>

<td>

DALLAS

</td>

</tr>

<tr>

<td align="right">

    30

</td>

<td>

SALES

</td>

<td>

CHICAGO

</td>

</tr>

<tr>

<td align="right">

    40

</td>

<td>

OPERATIONS

</td>

<td>

BOSTON

</td>

</tr>

</table>

<p>

</body>

</html>
  
 本文Tagsoracle  数据库  HTML/CSS  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:在AIX 5L上快速部署Oracle
· 下一篇:UNIX和WINDOWS2000上的ORACLE的差异 PartII
· Oracle 9i配置【管理服务器】
· 监控数据库性能的SQL
· [转贴]Oracle PL/SQL语言基础
· 用双向链表实现MYSQL数据库的逻辑连续
· Oracle以网格技术解决成本难题


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077