现在我需要在一个存储过程执行结束后,启动客户端中的一个应用程序,要如何实现?在客户端做一个监听程序这个方面免谈。最好 在存储过程中可以直接调用外部程序

解决方案 »

  1.   

    这篇文章你可以参考一下,忘了它的链接了。_________________________________________________________________
    作        者:  ZHENG017 (我来过...) 
    信 誉 值:  130 
    所属论坛:  VC/MFC 数据库 
    问题点数:  200 
    回复次数:  10 
    发表时间:  2002-10-31 8:47:24 
       
     
       
     
      新建一个空的win32 dynamic_link library project.取名为testdll.加入testdll.cpp.源程序如下:#include <windows.h>int __stdcall DllMain(HANDLE,DWORD,LPVOID){ return 1;}short test(void){   return system("dir e: > e:\\mydire.txt"); }加入testdll.def:如下:LIBRARY "testdll.dll"EXPORTStest @1then click the bulid.get the testdll.dll.copy to e:\打开sql plus.登录(最好不要用internal身份登录).建立一个包:SQL> create or replace library wz_test  2  as 'e:\testdll.dll';  3  /建一个function:SQL> create or replace function wz_funtest  2  return binary_integer  3  as  4  external  5  library wz_test  6  name "test"  7  language c  8  parameters (return short);  9  /建一个表SQL>create table ff(addr varchar2(20));建立一个trigger:SQL> create or replace trigger my_test_trigger after insert on ff  2  declare  3  my_result binary_integer;  4  begin  5  my_result :=wz_funtest;  6  end;  7  /现在SQL>insert into ff values('chengdu');然后在e盘看看是不是多了一个文件.可以把我的dll中test函数改一下:用FindWindowEx,SendMessage跟自己程序通信或者直接用socket通信.嘻嘻,如果有转载的话,请署上zheng017的大名哈..
      

  2.   

    参考这个是否对你有帮助
    http://search.csdn.net/expert/topic/50/5007/2002/10/31/1136115.htm