程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle中如何直接運行OS命令(下)

Oracle中如何直接運行OS命令(下)

編輯:Oracle數據庫基礎
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,
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved