oracle

推荐列表 站点导航

当前位置:首页 > 数据库 > oracle >

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

来源:网络整理  作者:网络  发布时间:2020-12-09 18:33
Oracle如何直接运行OS命令(下)...
  { 
  sqlglm(msg_buffer, &buffer_size, &msg_length);
  END-EXEC;
  /*如果是stop,该进程就退出*/ 
  printf("Daemon quitting.\n");
  BEGIN 
  printf("Will execute system command '%s'\n", value.arr);
  :status := DBMS_PIPE.SEND_MESSAGE(:return_name);
  END-EXEC;

  ELSE IF (!strcmp((char *) command.arr, "SYSTEM")) 
  { 
  EXEC SQL EXECUTE 
  IF (status == 0) 
  EXEC SQL EXECUTE 
  printf("Daemon error while connecting:\n");

  EXEC SQL WHENEVER SQLERROR CONTINUE;
  END;
  } 
  DBMS_PIPE.PACK_MESSAGE(:status);
  DBMS_PIPE.PACK_MESSAGE('done');
  main() 
  printf("Daemon waiting...\n");
  END;
  { 
  break;
  IF :status = 0 THEN 
  char msg_buffer[512];
  /*取出字符*/ 

当前1/2页 

  { 
  } 

  EXEC SQL WHENEVER SQLERROR DO sql_error();
  END;
  printf("%.*s\n", msg_length, msg_buffer);
  } 

  void 
  DBMS_PIPE.UNPACK_MESSAGE(:value);
  EXEC SQL EXECUTE 
  /*接收deamon发来的字符*/ 
  command.arr[command.len] = '\0';
  sqlglm(msg_buffer, &buffer_size, &msg_length);
  while (1) { 
  printf("Daemon connected.\n");

  EXEC SQL WHENEVER SQLERROR DO connect_error();
  printf("Daemon exiting.\n");
  EXEC SQL CONNECT :uid;
  int msg_length;
  sql_error() 
  BEGIN 
  printf("%.*s\n", msg_length, msg_buffer);
  DBMS_PIPE.UNPACK_MESSAGE(:command);
  status = system(value.arr);
  exit(1);
正在看的ORACLE教程是:Oracle如何直接运行OS命令(下)。  EXEC SQL WHENEVER SQLERROR CONTINUE;
  value.arr[value.len] = '\0';
  /*运行os命令*/ 
  printf("Daemon continuing.\n");
  IF (!strcmp((char *) command.arr, "STOP")) 
  { 
  BEGIN 
  int buffer_size = 512;

  printf("Daemon error while executing:\n");
  END IF;
  END-EXEC;

  DBMS_PIPE.UNPACK_MESSAGE(:return_name);
  :status := DBMS_PIPE.RECEIVE_MESSAGE('daemon');

相关热词: oracle 命令

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/sql/oracle/1896.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

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

2020-12-09 编辑:网络

  { 
  sqlglm(msg_buffer, &buffer_size, &msg_length);
  END-EXEC;
  /*如果是stop,该进程就退出*/ 
  printf("Daemon quitting.\n");
  BEGIN 
  printf("Will execute system command '%s'\n", value.arr);
  :status := DBMS_PIPE.SEND_MESSAGE(:return_name);
  END-EXEC;

  ELSE IF (!strcmp((char *) command.arr, "SYSTEM")) 
  { 
  EXEC SQL EXECUTE 
  IF (status == 0) 
  EXEC SQL EXECUTE 
  printf("Daemon error while connecting:\n");

  EXEC SQL WHENEVER SQLERROR CONTINUE;
  END;
  } 
  DBMS_PIPE.PACK_MESSAGE(:status);
  DBMS_PIPE.PACK_MESSAGE('done');
  main() 
  printf("Daemon waiting...\n");
  END;
  { 
  break;
  IF :status = 0 THEN 
  char msg_buffer[512];
  /*取出字符*/ 

当前1/2页 

  { 
  } 

  EXEC SQL WHENEVER SQLERROR DO sql_error();
  END;
  printf("%.*s\n", msg_length, msg_buffer);
  } 

  void 
  DBMS_PIPE.UNPACK_MESSAGE(:value);
  EXEC SQL EXECUTE 
  /*接收deamon发来的字符*/ 
  command.arr[command.len] = '\0';
  sqlglm(msg_buffer, &buffer_size, &msg_length);
  while (1) { 
  printf("Daemon connected.\n");

  EXEC SQL WHENEVER SQLERROR DO connect_error();
  printf("Daemon exiting.\n");
  EXEC SQL CONNECT :uid;
  int msg_length;
  sql_error() 
  BEGIN 
  printf("%.*s\n", msg_length, msg_buffer);
  DBMS_PIPE.UNPACK_MESSAGE(:command);
  status = system(value.arr);
  exit(1);
正在看的ORACLE教程是:Oracle如何直接运行OS命令(下)。  EXEC SQL WHENEVER SQLERROR CONTINUE;
  value.arr[value.len] = '\0';
  /*运行os命令*/ 
  printf("Daemon continuing.\n");
  IF (!strcmp((char *) command.arr, "STOP")) 
  { 
  BEGIN 
  int buffer_size = 512;

  printf("Daemon error while executing:\n");
  END IF;
  END-EXEC;

  DBMS_PIPE.UNPACK_MESSAGE(:return_name);
  :status := DBMS_PIPE.RECEIVE_MESSAGE('daemon');

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/sql/oracle/1896.shtml

相关文章

风云图片

推荐阅读

返回oracle频道首页