Oracle如何直接运行OS命令(上)第1/2页

来源:asp之家 时间:2010-07-30 12:54:00 

在Oracle 8i中,往往会出现要在存储过程中运行操作系统命令的情况。一般来说,利用Oracle Enterprise Manager设定作业时可以达到这个目的。但是由于OEM在设定作业缺 乏灵活性,设定的作业的参数是固定的。在实际应用当中往往需要在SQL语句当中运行需要随时运行操作系统命令。Oracle 8i没有直接运行OS命令的语句,我们可以利用DBMS_PIPE程序包实现这一要求。

DBMS_PIPE通过创建管道,可以让至少两个进程进行通信。Oracle的管道与操作系统的管道在概念上有相同的地方,但是在实现机制不同。

下面介绍实现具体步骤:

1、创建一个程序包,姑且起名叫DAEMON,SQL语句如下:

/*创建daemon程序包*/
  CREATE OR REPLACE PACKAGE BODY daemon AS
  /*execute_system是实现运行os命令的函数*/
  FUNCTION execute_system(command VARCHAR2,
  timeout NUMBER DEFAULT 10)
  RETURN NUMBER IS

status NUMBER;
  result VARCHAR2(20);
  command_code NUMBER;
  pipe_name VARCHAR2(30);
  BEGIN
  pipe_name := DBMS_PIPE.UNIQUE_SESSION_NAME;
  DBMS_PIPE.PACK_MESSAGE('SYSTEM');
  DBMS_PIPE.PACK_MESSAGE(pipe_name);
  DBMS_PIPE.PACK_MESSAGE(command);
  /*向daemon管道发送表示命令的字符*/
  status := DBMS_PIPE.SEND_MESSAGE('daemon', timeout);
  IF status <> 0 THEN
  RAISE_APPLICATION_ERROR(-20010,
  'Execute_system: Error while sending. Status = ' || status);
  END IF;

标签:oracle,命令
0
投稿

猜你喜欢

  • 纯CSS去除按钮以及链接点击时虚线

    2009-05-21 10:40:00
  • 让数据站住脚-浅谈用户研究中的信度与效度

    2010-09-10 13:14:00
  • SQL Server中删除重复数据的几个方法

    2009-10-30 10:50:00
  • Access数据库下如何使用通用对话框的问题

    2008-11-28 16:37:00
  • 教你在SQL Server数据库中导入导出数据

    2008-12-09 14:42:00
  • When we`re only No.2, we try harder之淘宝节日LOGO互动设计小探讨

    2010-01-20 10:31:00
  • iframe全跨域高度自适应解决方案

    2008-12-21 16:16:00
  • 如何把Recordset转换成彩色的XML文件?

    2009-11-02 20:22:00
  • HTML 5 V.S. XHTML 2:HTML5倍受青睐,XHTML2处境尴尬

    2009-06-08 12:57:00
  • MySQL数据库的其它安全问题

    2008-12-23 15:40:00
  • 学习ASP.NET八天入门:第六天

    2007-08-07 13:48:00
  • ASP动态包含文件的改进方法

    2009-01-05 12:22:00
  • Asp编写不再让人讨厌的自动弹出窗口

    2007-09-29 12:16:00
  • ASP程序种如何调用DLL文件

    2008-01-15 19:12:00
  • 该用多大的字

    2009-05-17 14:39:00
  • ADO的错误码对应的含义

    2007-10-22 17:31:00
  • 实例讲解Access数据库在线压缩的实现方法

    2008-11-28 14:29:00
  • javascript对象概念大全

    2009-05-22 18:24:00
  • 如何减少SQL Server死锁发生的情况

    2009-02-24 17:49:00
  • 一个ASP写的侧边菜单栏

    2010-05-27 12:22:00
  • asp之家 网络编程 m.aspxhome.com