转载 我的在oracle中使用trigger调用dll的源码

新建一个空的win32   dynamic_link   library   project.取名为testdll.  
  加入testdll.cpp.源程序如下:  
  #include    
  int   __stdcall   DllMain(HANDLE,DWORD,LPVOID)  
  { return   1;  
  }  
  short   test(void)  
  {  
        return   system("dir   e:   >   e:\\mydire.txt");    
  }  
  加入testdll.def:如下:  
  LIBRARY   "testdll.dll"  
  EXPORTS  
  test   @1  
  then   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的大名哈..  

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12378643/viewspace-619918/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12378643/viewspace-619918/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值