主页 > 知识库 > Oracle如何直接运行OS命令(下)第1/2页

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

热门标签:地图标注原件 淮安自动外呼系统开发 修改高德地图标注 宜宾外呼系统厂家 百变地图标注 语音电话机器人缺点 语音电话机器人营销方案 广州市400电话办理 南通防封外呼系统运营商
正在看的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;

12下一页阅读全文

标签:聊城 南平 南平 襄阳 池州 股票投资 通化 嘉峪关

巨人网络通讯声明:本文标题《Oracle如何直接运行OS命令(下)第1/2页》,本文关键词  Oracle,如何,直接,运行,命令,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Oracle如何直接运行OS命令(下)第1/2页》相关的同类信息!
  • 本页收集关于Oracle如何直接运行OS命令(下)第1/2页的相关信息资讯供网民参考!
  • 推荐文章