| 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? EXEC SQL WHENEVER SQLERROR CONTINUE; EXEC SQL WHENEVER SQLERROR DO sql_error(); ELSE IF (!strcmp((char *) command.arr, "SYSTEM"))? |
| 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的文档。 |

BK网络学院主要内容:平面设计教程,网站开发在线教程,网页制作教程,服务器教程,网络编程,数据库教程等。