• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > Oracle如何直接运行OS命令(下)第1/2页

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了oracle os认证,运行命令卸载oracle,oracle运行命令,oracle exp命令,oracle命令大全等相关知识,希望本文的分享对您有所帮助
正在看的ORACLE教程是:Oracle如何直接运行OS命令(下)。  EXEC SQL WHENEVER SQLERROR CONTINUE;
  sqlglm(msg_buffer, &buffer_size, &msg_length);
  printf("Daemon error while connecting:\n");
  printf("%.*s\n", msg_length, msg_buffer);
  printf("Daemon quitting.\n");
  exit(1);
  } 

  void 
  sql_error() 
  { 
  char msg_buffer[512];
  int msg_length;
  int buffer_size = 512;

  EXEC SQL WHENEVER SQLERROR CONTINUE;
  sqlglm(msg_buffer, &buffer_size, &msg_length);
  printf("Daemon error while executing:\n");
  printf("%.*s\n", msg_length, msg_buffer);
  printf("Daemon continuing.\n");
  } 
  main() 
  { 
  EXEC SQL WHENEVER SQLERROR DO connect_error();
  EXEC SQL CONNECT :uid;
  printf("Daemon connected.\n");

  EXEC SQL WHENEVER SQLERROR DO sql_error();
  printf("Daemon waiting...\n");
  while (1) { 
  EXEC SQL EXECUTE 
  BEGIN 
  /*接收deamon发来的字符*/ 
  :status := DBMS_PIPE.RECEIVE_MESSAGE('daemon');
  IF :status = 0 THEN 
  /*取出字符*/ 
  DBMS_PIPE.UNPACK_MESSAGE(:command);
  END IF;
  END;
  END-EXEC;
  IF (status == 0) 
  { 
  command.arr[command.len] = '\0';
  /*如果是stop,该进程就退出*/ 
  IF (!strcmp((char *) command.arr, "STOP")) 
  { 
  printf("Daemon exiting.\n");
  break;
  } 

  ELSE IF (!strcmp((char *) command.arr, "SYSTEM")) 
  { 
  EXEC SQL EXECUTE 
  BEGIN 
  DBMS_PIPE.UNPACK_MESSAGE(:return_name);
  DBMS_PIPE.UNPACK_MESSAGE(:value);
  END;
  END-EXEC;
  value.arr[value.len] = '\0';
  printf("Will execute system command '%s'\n", value.arr);
  /*运行os命令*/ 
  status = system(value.arr);
  EXEC SQL EXECUTE 
  BEGIN 
  DBMS_PIPE.PACK_MESSAGE('done');
  DBMS_PIPE.PACK_MESSAGE(:status);
  :status := DBMS_PIPE.SEND_MESSAGE(:return_name);
  END;
  END-EXEC;

2下一页阅读全文</div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Oracle 低权限数据库账户得到 OS 访问权限 提权利用
  • Oracle如何直接运行OS命令(上)第1/2页
  • Oracle如何直接运行OS命令(下)第1/2页

相关文章

  • 2017-05-11oracle更新xml节点问题的一些细节
  • 2017-05-11误删除$ORACLE_HOME/dbs下的参数文件、密码文件快速重建的方法
  • 2017-05-11Oracle 系统变量函数用法指南
  • 2017-05-11oracle 常见等待事件及处理方法
  • 2017-05-11Oracle 10g安装配置方法图文教程
  • 2017-05-11Oracle12c的数据库向11g导进的方法
  • 2017-05-11教你如何静默安装ORACLE
  • 2017-05-11Oracle SQL中实现indexOf和lastIndexOf功能的思路及代码
  • 2017-05-11Oracle存储过程之数据库中获取数据实例
  • 2017-05-11oracle分页存储过程 oracle存储过程实例

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • oracle10g全文索引自动同步语句使用方法
    • oracle初始化参数设置
    • group by,having,order by的用法详解
    • Oracle教程 误添加数据文件删除方法
    • oracle查看执行最慢与查询次数最多的sql语句
    • Oracle 游标使用总结
    • Oracle触发器用法实例详解
    • Oracle与Mysql自动增长列(id)的区别
    • 详解Oracle自定义异常示例
    • Oracle数据库快照的使用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有