考试网 >> IT认证 >> Oracle >> Oracle指导 >> Oracle中如何直接运行OS命令(下)

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

发布时间:2006-06-28 09:49     点击:
分页:[1] 2 3  下一页

  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");
分页:[1] 2 3  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有