ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 转载 我的在oracle中使用trigger调用dll的源码

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

原创 Linux操作系统 作者:yan53125 时间:2009-11-18 09:16:19 0 删除 编辑
新建一个空的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博客 ” ,链接:https://blog.itpub.net/12378643/viewspace-619918/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 转的代码
请登录后发表评论 登录
全部评论

注册时间:2009-11-13

  • 博文量
    16
  • 访问量
    20761