会 员 登 录
热 门 文 章
相 关 文 章
- 没有文章
Tags(标签)
Oracle中如何直接运行OS命令(下)
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; [page]
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; [page]
| IF (status) { printf ("Daemon error while responding to system command."); printf(" status: %d\n", status); } } ELSE { printf ("Daemon error: invalid command '%s' received.\n", command.arr); } } ELSE { printf("Daemon error while waiting for signal."); printf(" status = %d\n", status); } } EXEC SQL COMMIT WORK RELEASE; exit(0); } 以上代码起名为daemon.pc,用proc预编译: proc iname=daemon.pc userid=用户名/密码@服务名 sqlcheck=semantics 得到daemon.c,在用c进行编译,注意在NT上要把orasql8.lib加上,否则编译通过,连接没法通过。 3、在服务器上运行daemon.exe 4、在sqlplus运行测试语句: SQL> variable rv number DBMS_PIPE的用法见oracle的文档。 |
附件:
没有附件
0
票
顶一下
票
顶一下
0
票
踩一下
票
踩一下
| 文 章 评 论 | ||||||||
| ||||||||



您现在的位置: